Perl脚本不等待.bat文件完成并继续执行

Vis*_*ani 1 perl

我从perl脚本调用bat文件.
由于bat文件需要很长时间才能执行,因此perl脚本不会等待bat文件完成并从下一行继续执行.

有没有办法我们可以暂停执行perl脚本,直到bat文件完成执行,然后在bat文件完成后恢复.

我写了这样的东西:

system ("start $bat_file");
print ("Hello");
Run Code Online (Sandbox Code Playgroud)

所以它甚至在bat文件完成之前打印你好.

其实我想要完成的是:

  1. 我的bat文件创建了一些文件
  2. 我想在bat文件完成后将这些文件复制到另一个位置.

但由于它没有等待bat文件完成,因此复制失败,因为它试图复制一个不存在的文件夹,因为bat文件仍在处理中并且尚未生成输出文件.

注意:完成bat文件的时间不固定,每次都会更改.

Bor*_*din 9

您需要删除该start命令

如果没有该/wait选项,start将创建一个进程并立即返回

但根本没有必要start.你可以写

system($bat_file);
Run Code Online (Sandbox Code Playgroud)

达到你所要求的效果