我正在为各种程序制作一些安装程序,但也想在其中包含一个卸载程序。
我确实不是想要使用 NSIS 或 Inno Setup 构建安装程序。我知道它们会自动执行此操作,但我的安装程序是基于 SFX 存档的。
我知道如何让卸载程序删除我想要删除的指定文件,但是否可以对其进行编程,使其在程序中的所有其他内容卸载后自行删除?
答案1
del uninstaller.bat
您可以使用或让它自行删除del "%~f0"
,其中%~f0
代表脚本的完整路径。
答案2
德本汉姆找到了一个巧妙的技巧,让批处理文件自行删除而不会出现错误StackOverflow 上的这个答案
引用
总之,(GOTO) 2>NUL 的行为类似于 EXIT /B,只不过它允许在调用者的上下文中执行串联命令!
所以你所需要的只是
(goto) 2>nul & del "%~f0"