2012-11-15 43 views
3

我有一个批处理文件,用于打开.exe程序。该计划是fileuploader.exe使用命令行完成时关闭程序

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

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

我尝试这样做:

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

当程序正在运行,且taskkill发送一个请求关闭该程序,它显示了这个消息:

一个正在上传你想出口?

循环这样做直到上传完成并taskkill关闭Fileuploader。但我不喜欢这个解决方案。

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

+0

请提供您的脚本。 – davenewza

+0

编辑第一篇文章:) – user1825932

+0

你可以尝试'fileuploader.exe filetoupload' - 当上传完成后,命令提示符会退出。要启动第二个脚本,您可以使用条件执行 http://www.robvanderwoude.com/condexec.php – npocmaka

回答

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

好主意,我尝试使用超时命令也:) – user1825932

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 
0

如果文件&图片上传是here,那么它可以实现on next release,否则无需额外工具即可获得最佳解决方案ping

在从Windows资源工具包多台计算机,你会发现sleep.exe或PowerShell脚本已嵌入Start-Sleep

HTH