我试图安排一个Perl脚本从Windows任务计划程序运行,并将输出redirect到一个文本文件。 这看起来很简单,但不是遵循redirect,而是只是在控制台窗口中打印。
我尝试了各种各样的方法,我假设它不是可能的,或者我正在做一些愚蠢的事情。
我已经尝试过和没有引号无济于事。 该脚本要么不运行,要么Windows只是忽略redirect。 目前我正在使用类似于:
perl %Scripts%\Perl\network_information.pl > %Dropbox%\Random\network_information_<machinename>.pl
这显然在一个命令窗口中工作,并运行在一个计划的任务,但redirect被完全忽略。 我也试过用引号,它只是继续忽略输出redirect。
我打算从多台机器上运行这个工具,所以我希望它能够从一个计划任务中运行。 我假设它可能会工作batch file,然后安排批处理,但我想避免,如果可能的话。 任何帮助,将不胜感激。
将perl命令放在batch file中,然后从任务计划程序中调用该batch file
@echo off set Dropbox=abc perl.exe myfile.pl > %Dropbox% 2>&1
我从来没有在Windows计划的任务输出redirect运气(我永远不能打扰,找出原因) – 我的build议是作弊。
看看这个页面,它介绍了perl的open()函数 – 大概一半的时候,他们会告诉你如何使用open()从perl内部复制,redirect和恢复STDOUT(STDERR,STDIN等)。