2015-10-23 74 views
0

我想在perl腳本中使用C:\ Windows \ System32 \ schtasks.exe創建計劃任務。我使用下面的腳本:使用schtask.exe安排執行時間給腳本中的錯誤無效語法

use strict; 
my $createScheduleTask = `SchTasks /Create /SC WEEKLY /D MON,TUE,WED,THU,FRI /TN \"updater\" /TR \"\\\\network\\shared\\updater.bat\" /ST 19:00`; 

,但我得到如下回應:

ERROR: Invalid syntax. 
Type "SCHTASKS /?" for usage. 

當我在它工作正常的CLI運行相同的命令(我沒有刪除逃離「\ '-s。) 我已經嘗試了各種可能的轉義字符組合,但是我找不到什麼是錯誤的。

那麼有人知道什麼是錯的,或者有人知道如何調試它?

感謝
魯迪
PS我不希望使用的Win32 ::的TaskScheduler因爲它不能在所有客戶端上安裝。

+3

你的代碼在我的最後工作得很好。我得到了以下輸出:'C:\ Users \ Chankey \ Desktop> perl test.pl SUCCESS:已成功創建計劃任務「updater」。 –

+0

這裏適用,剪切和粘貼錯誤?權限問題? –

+0

將'my $ createScheduleTask = \'... \';'改爲'my $ cmd = qq \'... \';我的$ createScheduleTask = \'$ cmd \';',所以你可以打印你實際運行的命令並找到語法錯​​誤。 – ikegami

回答

0

這可能是由於您正在運行命令的外殼。

我從bash shell運行時遇到了這個問題,但是當我打開一個標準的Windows命令提示符時,它運行正常。