有一支 perl script 從 Windows 2003 搬到 Windows 2012 執行有錯誤。
手動執行是正常的,但是從 scheduler task 執行卻發生錯誤。
檢查發現從 scheduler task 執行 perl script,會在檢查目錄是否存在時發生錯誤。
測試發現 scheduler task 沒有網路磁碟機的連線,因為這個目錄在網路磁碟機上,
所以會找不到目錄。
解法:
用 batch file 把 perl script 包起來,scheduler task 改為執行 batch file。
batch file 內容:
net use N: \\server\share_dir
perl C:\tmp\my_script.pl