【问题标题】:Batch Files - Closing Opened Text Files批处理文件 - 关闭打开的文本文件
【发布时间】:2014-09-28 01:37:35
【问题描述】:

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

我正在尝试查看 .bat 文件中是否有一种方法可以调用系统调用来终止该特定文本文件。我在网上看到的建议是使用'taskkill notepad.exe',但返回“无效参数”,因为程序没有打开记事本来使用文本文件。

任何建议将不胜感激。

【问题讨论】:

  • 那么 - 你使用什么应用程序来“运行”文本文件?

标签: batch-file text-files


【解决方案1】:

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

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

【讨论】:

  • 好的,这有点帮助。我发现现在 .exe 在瞬间完成,这意味着它实际上并没有运行。如果我只是在 cmd 中使用命令“run.exe”,大约需要5分钟跑。我目前用来运行的行如下 'FOR /L %%c IN (1,1,%reps%) DO (START "%homedir%\output\%%c\run.exe" /WAIT /B 。 ..)'。我还要注意,您的解决方案会打开主目录的文件夹,这是……意外。 (感谢您的帮助。)
  • START 很繁琐。第一个参数有引号,这会引发您观察到的行为(查看 START 的帮助...)。尝试添加一个空字符串作为第一个命令 - START "" "%homedir....
猜你喜欢
  • 2019-01-03
  • 1970-01-01
  • 1970-01-01
  • 2020-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-02
相关资源
最近更新 更多