我有一个从 cmd 提示符运行的程序,它将在输出文本时连续运行。我可以通过添加> path\filename.ext
到末尾来让它将文本输出到文本文件。我想编写一个将写入文本文件的批处理文件。它应该在开始时加时间戳,运行 30 秒,然后在结束时加时间戳。这是我所拥有的:
@echo off
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
For /f "tokens=1-3 delims=/:/ " %%a in ('time /t') do (set mytime=%%a:%%b %%c)
set mytime=%mytime: =%
echo %mydate%_%mytime% > path\results.txt
start runfile.exe --option=alpha path/data.ext >> path\results.txt
timeout /t 30
taskkill /im runfile.exe /f
echo %mydate%_%mytime% >> path\results.txt
这有两个问题,1)它没有将 runfile.exe 输出到我的文本文件,2)它没有在 30 秒后终止 runfile.exe。
答案1
1)在你的start runfile.xe parms
线路中,尝试使用start "" runfile.exe parms
2) 当您启动 runfile.exe 时,图像名称是什么?当您启动任务管理器时,它仍然称为“runfile.exe”还是更改为其他名称?
我有一个使用启动器的程序。启动器名为“runme.exe”(这只是一个示例),它会为名为“programname.exe”的程序准备其他程序。如果我想终止该任务,我必须终止“programname.exe”,因为这是“runme.exe”执行完毕后仍留在内存中的程序。检查一下您的程序是否做了类似的事情。
希望这可以帮助。