如果批处理文件被用户终止,我是否可以撤消批处理文件所做的所有更改?例如,如果我附加文本文件并添加文本,重命名文件,通过运行批处理文件删除文件...如果用户终止批处理文件,是否有办法撤消所有更改,然后由它终止用户?或者无论如何我不能让用户在运行时终止批处理文件?
由于
答案 0 :(得分:0)
您可以避免普通用户以这种方式使用Ctrl-C取消批处理文件:
@echo off
setlocal
if "%~1" equ "NonCancelable" goto NonCancelable
echo Original!
start "" /B "%~F0" NonCancelable
echo Terminating original...
exit
:NonCancelable
echo I am non cancelable!
echo/
set "var="
set /P "var=Try to cancel me! (enter Exit to end): "
if /I "%var%" neq "exit" goto :NonCancelable
echo Terminating non cancelable...
当然,用户可以点击红十字窗口关闭窗口 ...
答案 1 :(得分:0)
在很大程度上取决于您的用户的复杂程度以及他们可以访问的设施。
例如,您可以创建用户批处理执行的不可见批处理。关于如何做到这一点的很多例子。
或许您可以在批处理中创建新文件,然后用新的文件替换现有文件(甚至用全新的文件集创建替换目录)作为批处理中的最后一个操作。