【发布时间】:2016-09-07 01:10:52
【问题描述】:
我已经搜索和搜索,这是我找到的最接近的代码:
@echo off
:loop
C:\CryptoCurrency\nexus_cpuminer\start.bat
timeout /t 30 >null
taskkill /f /im nexus_cpuminer.exe >nul
goto loop
有几件事:注意 start.bat。我需要启动的 .exe 必须通过 .bat 文件启动,因为 .bat 文件包含 .exe 所需的信息。
其次,.exe 会启动一个 CMD 提示窗口,它会告诉我发生了什么。 (请记住这一点,因为这不是您的正常 .exe,我希望 CMD 提示窗口在它被 KILLED 时关闭)
我知道我已将其设置为 30 秒。我现在只是在测试。我想在调用 kill 命令之前将其设置为 4 小时。另外,我想在整个过程开始之前设置一个 30 秒的“延迟”。我正在运行 Windows 7 x 64。
【问题讨论】:
-
还有什么问题?你的代码到底有哪些你不想做的事情(反之亦然)?
-
请注意:1. 您永远不应该为 .bat 文件指定与命令相同的名称。
start是一个内部 cmd.exe 命令。 2. 以start.bat结尾的行意味着将控制权转移到这样的文件中永远不会返回!如果要在该 .bat 文件结束后返回该 .bat 文件,则必须使用call ..\start.bat命令。 但是我不知道在start是内部命令名称的情况下会发生什么(首先更改此类文件的名称)。 -
3. 你遇到了死锁:控件将返回到这个 .bat 文件直到
start.bat文件结束;这意味着无法在nexus_cpuminer.exe运行的同时执行taskkill命令。要解决此问题,您必须使用内部start命令以并行启动第二个 .bat 文件,然后继续此 .bat 文件的其余部分。
标签: windows batch-file cmd