3

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

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

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

我试过这个:

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

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

正在上传您要退出吗?

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

有没有办法taskkill在一定时间后执行?例如每 2 分钟一次?

4

3 回答 3

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
于 2012-11-15T19:46:01.570 回答
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
于 2013-03-15T17:42:27.567 回答
0

如果 File&Image Uploader 在这里,那么它可能会在下一个版本中实现,否则ping最好的解决方案是没有额外的工具。

在许多计算机上,您会sleep.exe从 Windows 资源工具包或 Powershell 脚本中找到嵌入的Start-Sleep

高温高压

于 2014-01-24T14:12:29.313 回答