在 Windows 任务调度程序中启动 perl 脚本
start perl script in Win task sceduler
我想在 Win 任务调度程序中每周将任务调度到 运行 perl 脚本。
perl 脚本是 运行ning 从命令行手动使用:
perl update_blastdb.pl --passive --decompress refseq_rna
如何传递以上 3 个参数:
--passive --decompress refseq_rna
编辑1:
我写了一个 bat 文件,其中包含:
@echo off
cd "C:\inetpub\wwwroot\webclient\db\nucleotide"
call "C:\Strawberry\perl\bin\perl.exe" "C:\inetpub\wwwroot\webclient\db\nucleotide\update_blastdb.pl" --passive --decompress gss_annot> C:\perl_out.log 2>&1
我在 Win 任务调度程序中将任务调度到 运行 bat 文件。
首先,当我指定一个时间到 运行 它时,时间来来去去,任务没有 运行 (状态:就绪)。
其次,当我通过右键单击任务并单击 运行 手动 运行 任务时,状态更改为 (运行) 但是,它似乎没有 运行因为我检查了我创建的错误日志,perl_out.log,发现它没有创建。
有什么需要说明的吗?
编辑3:
当我将任务创建为 "basic task" 时,它 运行 成功了。
谢谢
您希望计划任务可执行文件只是 "perl",所有其余部分(包括 Perl 脚本)都放入参数中。 Args 根据 Windows 版本指定不同,因此您需要查找该部分,但在任务 GUI 中就可以了。
其他一些建议:
- 围绕您的命令制作一个 DOS 批处理脚本 "wrapper"。 BAT 脚本更容易在任务 GUI 中指定,管理员也更容易手动启动。
- 还可以考虑将标准输出和标准错误重定向到日志文件,这样您就可以监视正在发生的事情。有时这只是为了调试启动任务的问题(例如 Perl 或 Perl 脚本的问题)。
- 为了获得奖励积分,请在单独的程序中监控日志文件,以便在出现问题时立即通知您。
编辑:根据操作员的编辑添加有关任务设置的详细信息。
在任务设置中执行所有重定向,而不是在 BAT 脚本中。我认为没有必要在 mt BAT 包装器中包含 call
,甚至没有必要明确包含 perl.exe.
这是一个任务设置示例:
这是一个 BAT 包装器示例:
@echo off
date/t
time/t
echo.
disk_space.pl C:
disk_space.pl D:
echo.
echo Done.
exit/b
我想在 Win 任务调度程序中每周将任务调度到 运行 perl 脚本。 perl 脚本是 运行ning 从命令行手动使用:
perl update_blastdb.pl --passive --decompress refseq_rna
如何传递以上 3 个参数:
--passive --decompress refseq_rna
编辑1: 我写了一个 bat 文件,其中包含:
@echo off
cd "C:\inetpub\wwwroot\webclient\db\nucleotide"
call "C:\Strawberry\perl\bin\perl.exe" "C:\inetpub\wwwroot\webclient\db\nucleotide\update_blastdb.pl" --passive --decompress gss_annot> C:\perl_out.log 2>&1
我在 Win 任务调度程序中将任务调度到 运行 bat 文件。 首先,当我指定一个时间到 运行 它时,时间来来去去,任务没有 运行 (状态:就绪)。 其次,当我通过右键单击任务并单击 运行 手动 运行 任务时,状态更改为 (运行) 但是,它似乎没有 运行因为我检查了我创建的错误日志,perl_out.log,发现它没有创建。
有什么需要说明的吗?
编辑3: 当我将任务创建为 "basic task" 时,它 运行 成功了。 谢谢
您希望计划任务可执行文件只是 "perl",所有其余部分(包括 Perl 脚本)都放入参数中。 Args 根据 Windows 版本指定不同,因此您需要查找该部分,但在任务 GUI 中就可以了。
其他一些建议:
- 围绕您的命令制作一个 DOS 批处理脚本 "wrapper"。 BAT 脚本更容易在任务 GUI 中指定,管理员也更容易手动启动。
- 还可以考虑将标准输出和标准错误重定向到日志文件,这样您就可以监视正在发生的事情。有时这只是为了调试启动任务的问题(例如 Perl 或 Perl 脚本的问题)。
- 为了获得奖励积分,请在单独的程序中监控日志文件,以便在出现问题时立即通知您。
编辑:根据操作员的编辑添加有关任务设置的详细信息。
在任务设置中执行所有重定向,而不是在 BAT 脚本中。我认为没有必要在 mt BAT 包装器中包含 call
,甚至没有必要明确包含 perl.exe.
这是一个任务设置示例:
这是一个 BAT 包装器示例:
@echo off
date/t
time/t
echo.
disk_space.pl C:
disk_space.pl D:
echo.
echo Done.
exit/b