Windows

在沒有視窗的計劃任務中執行 .bat 文件

  • August 9, 2017

robocopy我有一個計劃任務,它啟動一個每小時執行的批處理腳本。每次執行時,桌面上都會彈出一個帶有 robocopy 輸出的視窗,我真的不想看到。

我設法通過使計劃的作業執行來使視窗最小化

cmd /c start /min mybat.bat

但這每小時都會給我一個新的命令視窗。鑑於“執行字元串指定的命令然後終止”,我對此感到驚訝cmd /c- 我一定誤解了文件。

有沒有辦法在不彈出 cmd 視窗的情況下執行批處理腳本?

您可以改用 Windows 腳本文件以靜默方式執行它。執行方法允許您在不可見模式下執行腳本。創建一個.vbs像這樣的文件

Dim WinScriptHost
Set WinScriptHost = CreateObject("WScript.Shell")
WinScriptHost.Run Chr(34) & "C:\Scheduled Jobs\mybat.bat" & Chr(34), 0
Set WinScriptHost = Nothing

並安排它。此範例中的第二個參數設置視窗樣式。0 表示“隱藏視窗”。

Run 方法的完整語法:

object.Run(strCommand, [intWindowStyle], [bWaitOnReturn])

論據:

  • 對象:WshShell 對象。
  • strCommand:字元串值,指示要執行的命令行。您必須包含要傳遞給執行檔的任何參數。
  • intWindowStyle:可選。指示程序視窗外觀的整數值。請注意,並非所有程序都使用此資訊。
  • bWaitOnReturn:可選。布爾值,指示腳本是否應等待程序完成執行,然後再繼續執行腳本中的下一條語句。如果設置為 true,腳本執行將暫停,直到程序完成,並且 Run 返回程序返回的任何錯誤程式碼。如果設置為 false(預設),則 Run 方法在啟動程序後立即返回,自動返回 0(不被解釋為錯誤程式碼)。

引用自:https://serverfault.com/questions/9038