windows – 如何使批处理文件自行删除?
发布时间:2020-12-13 21:13:55 所属栏目:Windows 来源:网络整理
导读:是否有可能使批处理文件删除其自身? 我试图让它执行另一个文件删除它,但这没有工作,任何人都知道我该怎么做。我正在使用的批处理文件被提升。我的操作系统是Windows 7 32位。 npocmaka的答案有效,但会生成以下错误消息:“找不到批处理文件”。如果控制
是否有可能使批处理文件删除其自身?
我试图让它执行另一个文件删除它,但这没有工作,任何人都知道我该怎么做。我正在使用的批处理文件被提升。我的操作系统是Windows 7 32位。
npocmaka的答案有效,但会生成以下错误消息:“找不到批处理文件”。如果控制台窗口在脚本终止时关闭,则不会出现问题,因为消息会快速闪烁,没有人会看到它。但是如果控制台在脚本终止后保持打开状态是非常不希望的。
在没有错误消息的情况下删除文件的技巧是在脚本终止后再次删除该文件。这可以使用START / B轻松完成以启动删除过程。删除过程需要时间来启动和执行,所以父脚本有可能在删除发生之前彻底终止。 start /b "" cmd /c del "%~f0"&exit /b 您可以简单地使用CALLed子例程,如果您担心SHIFT会破坏%0值。 call :deleteSelf&exit /b :deleteSelf start /b "" cmd /c del "%~f0"&exit /b 更新2015-07-16 我发现另一个非常光滑的方式来使批处理脚本自身删除而不产生任何错误消息。这种技术取决于新发现的GOTO(某些俄罗斯人发现)的行为,描述于http://www.dostips.com/forum/viewtopic.php?f=3&t=6491 总而言之,(GOTO)2> NUL的行为类似于EXIT / B,除了它允许在调用者的上下文中执行连接的命令! 所以你需要的是 (goto) 2>nul & del "%~f0" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何将Electron应用程序部署为可执行文件或在Windows中安装
- 如何在Microsoft Azure上部署一个简单的静态微站点
- windows-7 – 如何在explorer.exe中创建新文件夹时诊断挂起
- Win10下vs2015编译OSGEarth2.10
- windows-server-2008-r2 – Virtualbox – 无法启动Windows
- windows-xp – 如何在Windows XP中为可执行文件设置处理器亲
- windows – f#中的缩进问题(vs2010 beta1)
- 确定Windows进程是否具有创建符号链接的权限
- Windows Server 2008 R2上本机支持的远程文件传输的选项
- windows-phone-7 – 我们可以在Microsoft App Store上使用学