关闭时批量运行脚本

时间:2014-03-21 13:17:50

标签: windows batch-file windows-7 exit exit-code

我的问题是当按下右上角的X来执行名为exit.exe的文件时,如何制作批处理脚本而不是关闭。

2 个答案:

答案 0 :(得分:5)

这个问题有几点不够明确:

  • 如果你想在cmd.exe窗口上按下rigth top X时它没有关闭,而是做一个不同的事情,那么没办法可以实现这样的事情窗口,即所有现有应用程序的窗口。
  • 如果您想区分,如果执行批处理文件的窗口正常终止或终止,因为用户单击右上方的X,那么实现这一目标的方法是通过之前的#34 ;起动机"执行批处理文件并期望从其返回的特定值的程序。如果返回的值不是预期值,则假定窗口已通过右上方X取消。

<强> starter.bat:

@echo off

echo Start yourScript.bat:
start "" /W yourScript.bat
echo Value returned from the script: %errorlevel%
if %errorlevel% neq 12345 ECHO execute exit.exe

<强> yourScript.bat:

@echo off

echo I am the script.bat
set /P var=input value:

rem Terminate normally:
exit 12345

答案 1 :(得分:3)

[X]是&#34;遥不可及&#34;为cmd。唯一可以想到的方法是:创建另一个cmd来观察当前窗口的存在:

@echo off
title WatchMe
more +7 %~f0 >t2.bat
start "watcher" t2.bat

exit /b

@echo off
:running
tasklist /v|find "WatchMe" >nul &&echo waiting || goto finished
timeout 1 >nul
goto running
:finished
echo "the process has finished