同事報案,某支 DOS Batch 排程無法執行,出現錯誤代碼 2147942667:

Task Scheduler failed to launch action "C:\Windows\SYSTEM32\cmd.exe" in instance "" of task "\MyTask". Additional Data: Error Value: 2147942667.

偵訊蒐集資料過程,聽到一個關鍵字 "Program Files",Batch 檔的路徑包含空白,涉嫌重大。(通常我自己會盡可能避免路徑有空白或中文,只要沾上空白,到哪都得多加雙引號,太麻煩了! 而中文則是不知哪天遇上不支援的軟體抓錯抓半天)。

最後真相大白,算是 Windows 排程操作 UI 的坑吧!

重現問題的畫面如下:

同事使用 Browse 選了位於 D:\Program Files 下的 BAT 檔,系統帶出的路徑有在前後加上雙引號,接著設定 Start in 資料夾時,同事自然而然地先複製 Batch 路徑貼上再刪掉 Task.bat 幾個字元,結果就爆了。

在設定 Windows 排程時,若遇到包含空白之檔案/資料夾路徑,Program/script 欄位要加雙引號,Start in 欄位則不可加雙引號!

以上。


Comments

Be the first to post a comment

Post a comment