我想安排任务在Win task sceduler中每周运行perl脚本。 perl脚本使用以下命令从命令行手动运行:
perl update_blastdb.pl --passive --decompress refseq_rna
我如何传递上述3个参数:
--passive --decompress refseq_rna
EDIT1: 我写了一个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和找到的它没有创建。
有任何澄清吗?
EDIT3: 当我将任务创建为“基本任务”时,它成功运行。 感谢
答案 0 :(得分:1)
您希望Scheduled Task可执行文件只是" perl",其余所有内容(包括Perl脚本)都会进入Arguments。根据Windows版本,Args的指定方式不同,因此您需要查看该部分,但它在任务GUI中都可以。
其他一些建议:
编辑:根据操作编辑添加有关任务设置的详细信息。
在任务设置中执行所有重定向,而不是在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