2014-09-27 150 views
0

我目前有一个运行使用文本文件的.exe文件的Windows批处理文件。我试图让Windows批处理文件多次运行.exe文件。但是,这需要使用相同的文本文件来读取。命令提示符给我的错误,“.txt无法打开”(我从这里假设它已经打开)批处理文件 - 关闭打开的文本文件

我想看看是否有一种方式在.bat文件系统调用来杀死那个特定的文本文件。我在网上看到的建议是使用'taskkill notepad.exe',但是它返回“无效参数”,因为程序没有打开记事本以使用文本文件。

任何建议,将不胜感激。

+1

所以 - 你用**来运行一个文本文件有哪些应用程序? – Magoo 2014-09-27 16:23:47

回答

0

听起来好像你现有的脚本失败了,因为当第二个实例启动时,exe的第一个实例仍然打开。

值得尝试的一件事(这取决于您调用的应用程序的性质)是使用START /WAIT /B ...命令启动可执行文件。这使得命令解释器在程序移到下一个命令之前等待程序退出,所以只要没有别的东西在锁定文本文件,你就可以移动到下一个命令上。

+0

好的,这有些帮助。我发现现在.exe在瞬间完成,这意味着它不会真正运行。如果我只是在cmd中使用命令“run.exe”,它将需要约。 5分钟跑步。我现在用来运行的行如下'FOR/L %% c IN(1,1,%reps%)DO(START“%homedir%\ output \ %% c \ run.exe”/ WAIT/B。 ..)”。我还会注意到你的解决方案打开了主目录的文件夹,这是......意外的。 (我很感激帮助。) – engineerchange 2014-09-27 18:03:32

+0

START很烦琐。第一个参数引用了它,引发了你观察到的行为(查看START ...的帮助)。尝试添加一个空字符串作为第一个命令 - “START”“”%homedir ....' – 2014-09-27 18:21:57