2015-10-23 2 views
0

Я хочу создать запланированную задачу, используя C: \ Windows \ System32 \ schtasks.exe в perl-скрипте. Я использую следующий скрипт:Расписание taks с 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. 

Когда я запускаю ту же команду в интерфейсе командной строки он работает отлично (я сделал удалить побег «\ '-s.) Я пробовал все возможные комбинации escape-символов, но я не могу узнать, что не так.

Значит, кто-нибудь знает, что не так, или кто-нибудь знает, как его отладить?

Благодаря
Rudy
PS Я не хочу использовать Win32 :: TaskScheduler, так как он не установлен на всех клиентах.

+3

Ваш код работал отлично на моем конце. Я получил следующий результат: 'C: \ Users \ Chankey \ Desktop> perl test.pl УСПЕХ: Запланированное задание« updater »успешно создано.« –

+0

Здесь работает, вырезать и вставлять ошибку? Проблема с разрешениями? –

+0

Измените 'my $ createScheduleTask = \' ... \ ';' на 'my $ cmd = qq \' ... \ '; my $ createScheduleTask = \ '$ cmd \'; ', поэтому вы можете распечатать команду, которую вы фактически выполнили, и найти синтаксическую ошибку. – ikegami

ответ

0

Это, скорее всего, из-за оболочки, из которой вы используете команду.

У меня была эта проблема при запуске из оболочки bash, но когда я открыл стандартную командную строку Windows, она работает нормально.

Смежные вопросы