
我有這個批次文件,它在啟動資料夾中建立一個批次文件,用於打開網站的特定 URL。我的問題是,每當它運行時,它也會打開一個空的命令提示字元。
批次腳本運作良好,它使用網頁瀏覽器打開網站 URL,但它只是打開了一個額外的 CMD 窗口,我不希望發生這種情況。注意:我不是問如何在背景運行 CMD 視窗。
這是代碼:
@echo off
cd C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
echo @echo off > startup.bat
echo start (link) >> startup.bat
start startup.bat
有人可以幫助指出我可以改變什麼來解決這個問題嗎?
答案1
你可以使用稱呼並添加/MIN
開關開始命令使其更加隱藏並確保 CMD 視窗在運行時消失依照上面範例中的邏輯設定方式。
我做了一些快速調整,並添加了這個邏輯,以便您可以得到一個我使用的確切示例,並在您解釋需要它工作時確認其工作原理。
範例腳本
@echo off
CD /D C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
echo @echo off > startup.bat
echo START /MIN "" "https://google.com">> startup.bat
echo EXIT /B>> startup.bat
CALL startup.bat
EXIT /B
更多資源
答案2
請查看下面的連結:
如果連結無法訪問,一個答案指出創建一個包含以下內容的 vbs 腳本:
CreateObject("Wscript.Shell").Run "your_batch_file.bat", 0, True
其中「your_batch_file.bat」是批次檔的名稱。
將以上內容儲存為 Visual Basic 腳本,例如:example.vbs 並執行它。
答案3
這是原因以及該怎麼做:
預設情況下,START 將運行相當於 CMD /K 的命令,它會開啟第二個命令視窗並使其保持開啟。在大多數情況下,您希望批次腳本完成,然後只需關閉其 CMD 控制台即可恢復初始批次腳本。這可以透過明確地運行 CMD /C ... 來完成
Echo Starting
START /wait "demo" CMD /c demoscript.cmd
Echo Done