2010-06-14 48 views
1

有沒有辦法改變cmd標題?我寫了一個vbs程序。但是dos的標題很糟糕。用vbscript改變控制檯標題

名稱IST C:\ WINDOWS \ SYSTEM32 \ Cscript.exe將 我嘗試它:

標題the_name和 標題= 「名稱」

但都沒有工作。

感謝您的幫助。

回答

3

不幸的是,您在使用任何WSH對象的腳本中發現了cannot do that

執行此操作的唯一方法是通過中介啓動腳本(使用TITLE命令或另一個使用%comspec%參數的腳本的.bat)。

0

您是否需要在代碼中更改它,或者您是否希望它看起來更好?您可以通過創建腳本的快捷方式,然後更改快捷方式的名稱(在快捷方式的屬性中,更改爲General選項卡並在其中更改名稱)來完成。

+0

的問題是,我會打開我的腳本超過一次,每次有C:\ WINDOWS \ SYSTEM32 \ Cscript.exe將...比我有5個窗口打開,比我現在不是什麼窗口是正確的,我可以關閉...我希望你瞭解我...爲我的英語^^ – Sebastian 2010-06-14 13:11:17

+0

@matthias:不知道然後我'我害怕。 – 2010-06-14 13:29:44

+0

好的謝謝。也許有人可以幫助我:-) – Sebastian 2010-06-14 13:39:02

4

@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"'); 
    } 

或者只是讓父腳本執行一個子腳本,但在運行cscript命令之前提示輸入標題,如下所示:


    var x = new ActiveXObject("WScript.shell"); 
     x.run('cmd title your title ' + 
      WScript.StdIn.ReadLine() + 
      '| cscript.exe "script path and params"'); 
  1. 您還可以使用從現有的命令提示符「開始」命令,並在每次運行腳本時只需更改標題的值
c:\>start "your title" cscript script_path.vbs
  1. 或者你可以使用windows api使用自定義的activex對象以編程方式更改標題。這絕對是一個更深入的解決方案,但您可以使用C#創建一個可以調用Windows API的ActiveX對象,並使用COM從VBScript執行C#函數。您需要使用findWindow和SetWindowText api調用來更改CMD窗口的標題。

查看IEUnit項目,特別是Win32Dom的activex對象。這是一個很好的項目,因爲它解決了您可能對此選項所提出的「如何創建c#activex對象」和「如何調用win32 api」的問題。它已經爲你準備了findWindow部分。

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