使用 vbscript 更改控制台标题

Seb*_*ian 1 vbscript wsh

有没有办法更改cmd标题?我写了一个vbs程序。但是dos标题不好。

名称是 c:\windows\system32\cscript.exe 我尝试使用:

标题 the_name 和标题 ="姓名"

但两者都不起作用。

感谢帮助。

Mar*_*ope 5

@AlexK 您指向的链接实际上显示了您可以如何更改命令窗口的标题,所以我不确定为什么这不能作为 Matthias 问题的解决方案。

@Matthias - 由于您已经在使用 cscript,因此您有几个选择:

  1. 您可以创建一个父脚本,打开多个具有唯一标题的窗口,如下所示:

  var x = new ActiveXObject("WScript.shell");

    for (var i=0; i < 5; i++) {
        x.run('cmd title your title ' + i + '| cscript.exe "params"');
    }
  
Run Code Online (Sandbox Code Playgroud)

或者只是让父脚本执行一个子脚本,但在运行 cscript 命令之前提示输入标题,如下所示:


  var x = new ActiveXObject("WScript.shell");
      x.run('cmd title your title ' + 
            WScript.StdIn.ReadLine() + 
            '| cscript.exe "script path and params"');
  
Run Code Online (Sandbox Code Playgroud)
  1. 您还可以使用现有命令提示符中的“开始”命令,并且每次运行脚本时只需更改标题的值
c:\>start "your title" cscript script_path.vbs
Run Code Online (Sandbox Code Playgroud)
  1. 或者您可以使用 windows api 使用自定义 activex 对象以编程方式更改标题。这绝对是一个更深入的解决方案,但您可以使用 C# 创建一个可以调用 windows api 的 activex 对象,并使用 COM 从 vbscript 执行 C# 函数。您需要使用 findWindow 和 SetWindowText api 调用来更改 CMD 窗口的标题。

查看 IEUnit 项目,特别是 Win32Dom activex 对象。这是一个很好的项目,因为它解决了您可能会遇到的“如何创建 ac# activex 对象”和“如何调用 win32 api”的问题。它已经为您完成了 findWindow 部分。

http://code.google.com/p/ieunit/source/browse/#svn%2Ftrunk%2Ftool%2FWin32Dom