我有一個批處理文件,下面的代碼:如何使用循環運行批處理文件作爲計劃任務?
for /F "tokens=1,2" %%a in (%CD%\clients.txt) do (
start "My Task" /d "%CD%" /b php -f "%CD%\task.php" "%%a" "/%%b"
)
如果我從命令提示符手動運行該批處理文件,它工作正常。但是,如果我將它作爲計劃任務運行,則它會失敗並顯示最後運行結果(0x2)。請注意,如果我從要運行的進程中的變量的代碼和硬編碼值中刪除循環,則任務運行良好。
我也注意到任何一種簡單的文件操作,如回聲測試> log.txt似乎並沒有運行時的計劃任務執行批處理文件,但手動工作。我嘗試將計劃任務設置爲「以最高權限運行」,但沒有解決問題。我還將計劃任務操作的「開始」設置設置爲PHP和文本文件所在的目錄,這也不起作用。這裏想法不多,有什麼想法?
如果我不得不猜測,'%CD%'不是您認爲的那樣(它指的是* current directory *,它不一定是批處理腳本所在的目錄)。 – iCodez 2014-10-06 20:28:09
謝謝!這使我走上了正確的軌道,我找到了答案。解答張貼在答案。 – Rocket04 2014-10-06 20:45:30