我有一个打开.exe
程序的批处理文件。该计划是fileuploader.exe
。
当使用命令行完成上传过程时,有没有办法关闭此程序?
因为程序生成一个输出文件,我需要这个输出用于另一个命令行操作。
我试过了:
start fileuploader.exe filetoupload
:loop
taskkill /im fileuploader.exe
goto loop
当程序正常运行且taskkill
发送关闭程序的请求时,会显示以下消息:
正在上传您要退出吗?
循环执行此操作,直到上传完成并taskkill
关闭Fileuploader。但我不喜欢这个解决方案。
有一种方法可以在一段时间后执行taskkill
吗?比如每2分钟一次?
答案 0 :(得分:0)
有一种方法可以在一段时间后执行taskkill吗? (像每一个人 例如2分钟?)
您可以使用ping命令创建延迟。使用所需的超时值(ms)ping不可到达的地址一次。此示例将在每个taskkill之前等待2分钟。
start fileuploader.exe filetoupload
:loop
ping 1.1.1.1 -n 1 -w 120000 >NUL
taskkill /im fileuploader.exe
goto loop
答案 1 :(得分:0)
此外,还有这种方法可以让您在窗口标题中倒计时:
@ECHO off
TITLE Initial title
SET TITLETEXT=Countdown the uploader
:: start of script
start fileuploader.exe filetoupload
:loop
CALL sleepMe 120
taskkill /im fileuploader.exe
goto loop
:: rest of script
GOTO :END
:: Function
:sleepMe ARG
ECHO Pausing...
FOR /l %%a in (%~1,-1,1) do (TITLE %TITLETEXT% -- time left %%as&PING.exe -n 2 -w 1 127.0.0.1>nul)
EXIT /B 0
:END
pause
答案 2 :(得分:0)
如果文件和图片上传器为here,则可以实施on next release,否则ping
解决方案是最好的,无需其他工具。
在许多计算机上,您会从Windows资源工具包或Powershell脚本中找到sleep.exe
,这些脚本具有嵌入式Start-Sleep
HTH