完成命令行后关闭程序

时间:2012-11-15 07:35:54

标签: windows batch-file cmd

我有一个打开.exe程序的批处理文件。该计划是fileuploader.exe

当使用命令行完成上传过程时,有没有办法关闭此程序?

因为程序生成一个输出文件,我需要这个输出用于另一个命令行操作。

我试过了:

start fileuploader.exe filetoupload  
:loop  
taskkill /im fileuploader.exe   
goto loop

当程序正常运行且taskkill发送关闭程序的请求时,会显示以下消息:

  

正在上传您要退出吗?

循环执行此操作,直到上传完成并taskkill关闭Fileuploader。但我不喜欢这个解决方案。

有一种方法可以在一段时间后执行taskkill吗?比如每2分钟一次?

3 个答案:

答案 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