批处理文件/ Cron作业

时间:2013-01-29 19:13:55

标签: php cron filesystems crontab

我想要运行80个Php脚本。我想开始 Script1 等到完成开始 script2 ......

现在,如果我添加以下内容:

start C:\xampp\php\php.exe -f C:\xampp\Script1.php
start C:\xampp\php\php.exe -f C:\xampp\Script2.php
start C:\xampp\php\php.exe -f C:\xampp\Script3.php

当我执行我的批处理文件时,它将同时运行所有脚本。

我可以在我的bat文件中使用任何命令告诉系统等待脚本完成后再执行一次吗? 无论如何设置脚本之间的时间间隔?

我可以在cron选项卡中运行所有80个脚本,但是,我宁愿配置一个批处理文件来处理所有脚本,然后将此文件分配给crontab。

由于

2 个答案:

答案 0 :(得分:1)

start以异步方式触发任务,因此它们将同时运行。使用/wait标志启动任务并等待它完成。

e.g。

start /wait C:\xampp\php\php.exe -f C:\xampp\Script1.php
start /wait C:\xampp\php\php.exe -f C:\xampp\Script2.php
start /wait C:\xampp\php\php.exe -f C:\xampp\Script3.php

或者,正如Marc B所述,删除启动调用也会给你顺序执行。

答案 1 :(得分:0)

正如Joseph Sibler建议的那样,你可以制作一个单独调用它们的PHP文件。您甚至可以使用类似xargs的东西生成该PHP文件(可在windows w / mingw32,cygwin和其他来源上获得)。

这样的事情应该这样做:

del single.php
dir /b Script*.php | xargs cat >> single.php
start c:\xampp\php\php.exe -f single.php