2011-01-12 191 views

回答

1

您通常需要別的東西來運行該莊園中的腳本 即 創建快捷方式,並將快捷方式的「運行」字段設置爲「最小化」。

1

一旦你點擊或遠離批處理文件運行它的cmd.exe窗口,它是「在後臺」 - 我不確定你想要什麼,但它聽起來像你可能會問如何運行批處理文件而不顯示cmd.exe窗口。

如果是這樣,我可以想到兩種方法:首先,您可以創建批處理文件的快捷方式,右鍵單擊它,並在其中的屬性中設置運行最小化的快捷方式(應該是運行旁邊的下拉選項)。

您還可以使用Windows Script Host的shell對象(calling the Run method)將批處理文件調用到VBScript文件中,以便不可見地運行批處理文件。傳遞0作爲intWindowStyle參數將禁止顯示窗口或任何內容。

7

那麼,你可以從start開始最小化,如果這就夠了。真的隱藏它很困難(雖然我現在可以想到一個選項)。

基本上你需要通過雙擊來確定批次是否已經啓動。您可以通過定義一個特殊變量做到這一點,尋找它:作爲FOO變量沒有定義

@echo off 
if not defined FOO (
    set FOO=1 
    start /min "" %~0 
    exit /b 
) 

rem here whatever you wanted to do originally in the batch 

只要(這可能是默認幾乎無處不在),此批將推出自己再次最小化,但首先定義的變量。環境被傳遞給子進程,這就是爲什麼這是有效的。

+0

這是我最喜歡的方法。我喜歡這個片段。 – djangofan 2011-11-02 19:03:14

1

@Ghyath Serhal 我已經使用cmdow在另一個程序上執行此操作,它是一個可用於修改命令提示符的外部應用程序。要使用它,您需要將該代碼(見下文)輸入到它自己的批處理文件中,或者在命令提示符下輸入帶有隱藏終端窗口的'BatchFile.bat'。我還沒有找到在單個批處理文件中使用它的方法,但我今天才發現這一點。

cmdow /run /hid 'BatchFile.bat'

希望這有助於。