2016-03-26 107 views
1

我希望我能清楚地解释我的问题。计划任务从命令行运行perl脚本

我有我的命令行运行这样

perl update_blastdb.pl databaseName --passive 

正如你看到一个Perl脚本,我必须在命令行中添加参数。

我想用参数每周自动运行此脚本。

Windows中的任务管理器可以安排任务自动运行,但我认为如果我将Perl文件路径提供给任务调度程序,它将在没有任何参数的情况下运行。

什么是最好的方式做我想要的?我想创建一个具有新的Perl文件:变量领域

  • 发送该参数与update_blastdb.pl到命令提示符的命令变量

    • 参数。

    但我只是在想,我不知道这是否可能。

    任何人都可以帮我找到正确的方向吗?

  • +0

    他们的当前目录占计划任务是你的问题,你不知道如何将参数传递给您的脚本或如何在所有运行?参数传递解释[这里](https://social.technet.microsoft.com/Forums/office/en-US/0e12e4bc-b8f2-45b9-97be-e768f3bca2dd/how-to-pass-parameters-toa-a-例如windows-scheduled-task?forum = winservergen)。 – PerlDuck

    +0

    @Perl狗我的问题是如何传递参数以及如何运行它。正如我所说,我对所有这些概念都陌生。 – Alaa

    回答

    1

    我本来还以为是像这样简单

    at 05:00 /every:M,T,W,Th,F cmd /c perl update_blastdb.pl databaseName --passive 
    

    唯一的问题可能是因为当前目录是你所期望不算什么。在系统下运行设置为SYSTEMROOT,这是一般C:\Windows

    +0

    你的意思是写一个包含这一行的perl脚本吗?并安排任务来运行它? – Alaa

    +0

    如何:在05:00 /每个:M,T,W,Th,F cmd/cd C:\ Program Files \ NCBI \ blast-2.3.0 + \ bin,cmd perl update_blastdb.pl databaseName --passive? – Alaa