批处理脚本如果用户按Ctrl + C在退出前执行命令

Nic*_*ico 7 cmd batch-file exit

我写了一个net use开头和net use /DELETE结尾的脚本.

但是如果用户决定按Ctrl+ C并退出脚本,我需要做一个net use /DELETE.

那可能吗?我在谷歌上找不到任何东西.

dbe*_*ham 13

当然,只需在新的CMD会话中执行大部分脚本:

@echo off
if "%~1" neq "_start_" (
  net use ...
  cmd /c "%~f0" _start_ %*
  net use /delete ...
  exit /b
)
shift /1
REM rest of script goes here
Run Code Online (Sandbox Code Playgroud)

只要控制台窗口保持打开状态,net use /delete命令将始终在内部cmd会话关闭后触发.由于正常运行,用户按下Ctrl-C或致命错误,它可能会关闭 - 最终net use \delete仍然会触发.