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

标签 batch-file cmd exit

我写了一个正在执行 net use 的脚本在开头和 net use /DELETE在末尾。

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

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

最佳答案

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

@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

只要您的控制台窗口保持打开状态,net use /delete内部 cmd session 关闭后,命令将始终触发。它可能由于正常运行、用户按下 Ctrl-C 或 fatal error 而关闭 - 最终 net use \delete还是会开火。

关于batch-file - 如果用户在退出前按 Ctrl+C 执行命令,则批处理脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27130050/

相关文章:

batch-file - 从文件名中提取数字

variables - 使用批量延迟扩展时路径中的特殊字符(感叹号!、胡萝卜 ^ 等)出现问题

windows - 批处理脚本 - 如果尚未设置/定义,则设置/定义环境变量

tcl - 使用 Tk Tcl 捕获对 'x' 按钮的点击

windows - 如何使用批处理文件使结果在完成时保持可见

c++ - 使用路径中的空格从 C++ 执行批处理文件

go - 一个go中出错关闭多个goroutine

perl - 为什么 Perl 在退出前不打印最后一个文本?

windows - SQL 加载程序 : writing batch file (windows) for processing multiple data file

windows - 请在 Windows 命令提示符下解释以下输出