Я пытаюсь запланировать запуск сценария 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