脚本创建多个进程

时间:2013-01-15 12:34:15

标签: batch-file batch-processing

我有一个批处理脚本,它接收电影文件的输入目录,并输出文本文件的目录。 该脚本运行外部应用程序,将电影文件解析为文本文件。 该脚本还能够同时(并行)运行“Movie-Parser”的多个进程。

我遇到这个奇怪的问题: 当我在某个目录上运行脚本(其中包含一个或多个文件)时,它可以完美地运行。如果我每次运行脚本并告诉它一次加载2部电影(例如),它也可以正常工作,我看到在任务管理器中运行了2个进程。 当我在不同的目录上运行相同的运行时,我得到相同的结果。

但是,这是奇怪的事情:当我打开控制台,并在第一个控制台中的一个目录(其中包含一个文件)上运行脚本,并在第二个目录上运行脚本(其中包含一个文件) )在第二个控制台中,突然看到任务管理器时,我看到4个正在运行的进程而不是2个。

如果我增加并行进程,我会在任务管理器中获得更多进程。

什么可能导致这个问题?

1 个答案:

答案 0 :(得分:0)

它可能取决于批处理文件中的变量。据推测,正在运行的批处理文件的两个实例都使用相同的变量来存储文件的路径。例如,如果您使用的系统环境的%1%是跨进程共享的,那么我将进行交叉通信。

考虑添加

setlocal 

到您的批处理文件。例如,请参阅this Microsoft documentation