2013-01-15 52 views
2

我有收到的电影文件和输出目录输入目录的文本文件批处理脚本。 该脚本运行将电影文件解析为文本文件的外部应用程序。 该脚本还可以同时运行多个“Movie-Parser”进程(并行)。脚本创建多个进程

我得到这个奇怪的问题: 当我运行在某个目录中的脚本(在它的一个或多个文件),它完美的作品。如果我运行脚本并告诉它每次加载2个电影(例如),它也可以正常工作,并且我看到2个进程在任务管理器中运行。 当我在不同的目录上运行相同的运行时,我得到相同的结果。但是,这很奇怪:当我打开控制台并在第一个控制台中的一个目录(其中包含一个文件)上运行脚本时,并在第二个目录上运行脚本(一个文件在它)在第二个控制台,突然,看着任务管理器时,我看到4个正在运行的进程,而不是2

如果我增加了并行处理,我得到在任务管理器,甚至更多的进程。

什么可能导致此问题?

+0

显示我们的批处理文件......我们需要更多的信息。 – aphoria

+1

1 - > 2,则2 - > 4,听起来很有道理...... –

+1

不,你知道,当我运行一个批处理有一个文件,我看到一个过程。然后,我用另一个wile来运行另一批,而第一批仍在运行,突然之间,我看到4个进程。所以它是1-> 1和2-> 4。 – Idanis

回答

0

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

考虑加入

setlocal 

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