【发布时间】:2014-08-01 22:19:06
【问题描述】:
如果批处理文件被用户终止,我是否可以撤消批处理文件所做的所有更改?例如,如果我要附加文本文件并添加文本、重命名文件、通过运行批处理文件来删除文件......如果用户终止批处理文件,有没有办法在它被终止之前撤消所有更改用户?或者无论如何我不能让用户在运行时终止批处理文件?
谢谢
【问题讨论】:
-
没有。批处理文件没有“回滚”或“撤消”,也没有办法阻止批处理文件被终止。
-
@KenWhite:有一种解决方法:沙箱。问题是:不知道有没有可以批量控制的。这样做是:在沙箱中运行批处理,完成后,将更改导出到系统。当意外终止时,沙盒中的所有更改都将丢失。
-
@Stephan:这不会在批处理文件中撤消;它在应用之前在沙箱中运行您的更改,这是一项不同的任务。批处理文件中没有“撤消”;可能有其他解决方案,但这不是问题。 (根据help center 指南,问这个问题将是一个通用的“工具推荐”问题,很可能是题外话。)
-
@KenWhite 因此是“一种解决方法”。效果将是他想要的,也许“沙盒想法”让他对自己的问题有了另一种看法。我认为大多数用户都不知道沙箱甚至存在,至少“沙箱”是他可以用谷歌搜索的东西。而且我不是推荐软件,而是提示另一个概念,这可能会有所帮助,因为(正如您已经说过的)没有“批量解决方案”可能。
-
您可以在批处理文件的开头备份文件,只有在批处理文件完成后才删除它们,方法是将删除过程放在批处理文件的底部。
标签: windows batch-file cmd undo