Назад | Перейти на главную страницу

Планирование сценария Perl с перенаправлением вывода

Я пытаюсь запланировать запуск сценария Perl из планировщика задач Windows и перенаправить вывод в текстовый файл. Это кажется простым, но это не следует за перенаправлением, а вместо этого просто печатается в окне консоли.

Я пробовал разные методы и предполагаю, что это либо невозможно, либо я делаю что-то глупое.

Я пробовал с кавычками и без них, но безрезультатно. Скрипт либо не запускается, либо Windows просто игнорирует перенаправление. Сейчас я использую что-то вроде:

perl %Scripts%\Perl\network_information.pl > %Dropbox%\Random\network_information_<machinename>.pl

Что, очевидно, работает в командном окне и выполняется в запланированной задаче, но при этом перенаправление полностью игнорируется. Я тоже пробовал использовать кавычки, и он продолжает игнорировать перенаправление вывода.

Я собираюсь запустить это с нескольких машин, поэтому я бы хотел, чтобы он работал по расписанию. Я предполагаю, что он, вероятно, будет работать с пакетным файлом, а затем планировать пакет, но я бы хотел избежать этого, если возможно. Любая помощь будет оценена.

Мне никогда не везло с перенаправлением вывода в запланированных задачах Windows (и я никогда не удосужился выяснить, почему). Мой совет - обмануть.

Взгляни на эта страница, на которой рассказывается о функции perl open () - примерно на полпути они покажут вам, как дублировать, перенаправлять и восстанавливать STDOUT (STDERR, STDIN и т. д.) из Perl с помощью open ().

Поместите команду perl в пакетный файл, а затем вызовите пакетный файл из планировщика заданий

@echo off
set Dropbox=abc
perl.exe myfile.pl > %Dropbox% 2>&1