当批处理文件关闭时,有什么方法可以运行其中的特定命令吗?

当批处理文件关闭时,有什么方法可以运行其中的特定命令吗?

就我而言,我正在运行一个名为file.bat

当我的用户使用右上角的[X]关闭按钮关闭它时,我喜欢它在关闭之前需要运行一些程序。

例如,我希望我的程序在关闭之前隐藏自身,通过在用户关闭批处理运行 cmd 时运行几个命令行。(使用 [X] 关闭按钮)

ren file.bat file.bak
attrib +s +h file.bak

我想在程序结束时运行这两个命令行,然后用户使用右上角的关闭按钮 [X] 关闭它。所以请大家帮帮我。我不知道该怎么做。非常感谢。请帮忙。

答案1

因此,您需要做的是创建一个包装批处理脚本,我们将使用 VBScript 以不可见的方式运行该脚本。该批处理文件将为要运行的主批处理脚本打开另一个命令窗口,当该脚本以任何方式结束时,它将执行脚本中的其余命令

'Run Batch Invisible
CreateObject("Wscript.Shell").Run chr(34) & "C:\Path\Script Files\Wrapper.cmd" & Chr(34), 0, False

然后我们有wrapper.cmd:

REM Script: Wrapper.cmd
REM This script will Open another window, which, when closed will run a couple of commands.
SET "_BatchPath=C:\Path\Script Files"
SET "_BatchName=Your_Existing_Batch"
CALL START /WAIT "%_Batch%\%_BatchName%.bat"
MOVE /Y "%_Batch%\%_BatchName%.bat" "%_Batch%\%_BatchName%.bak"
Attrib +s +h "%_Batch%\%_BatchName%.bak"
GOTO :EOF

此示例使用您提出的示例命令。

相关内容