[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]求助批处理重定向防止重复运行和删除脚本自身

本帖最后由 lonron 于 2024-4-23 09:45 编辑

http://bbs.bathome.net/redirect.php?goto=findpost&ptid=16369&pid=106531
当用了4L老师的这段代码防止重复运行自身后,如果脚本最后需要删除自身,貌似会失效。(被占用?)
在保留实现这段代码效果且不要创建额外脚本的前提下,该如何删除脚本自身?(比如有没有类似释放句柄什么的?)

已有老师作答,感谢!
http://bbs.bathome.net/redirect.php?goto=findpost&ptid=16369&pid=280201

回复 4# zaqmlp


    这个确实可以防二次启动并且运行完自己删,但是有一个不算BUG的BUG,就是标题相同或者复制一摸一样的bat,那另一个bat也启动不了了,虽然这个例子很极端,但是确实不排除有这种应用可能。

TOP

回复 5# Five66


    试了,第一反应就是这么写,但是没任何反应

TOP

试试删除前重定向句柄3
例如 echo,3>nul 4>nul

TOP

标记法
  1. @echo off&title "@_@"
  2. tasklist /v /fo csv /nh /fi "imagename eq cmd.exe"|find /c "@_@"|>nul findstr /be "1"||exit
  3. echo;only one can start
  4. pause
  5. del /a /f /q "%~f0"
复制代码
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

回复 2# holley


    %1没有参数的,而且脚本被占用了,所以如果不释放句柄应该是删不了自身的。

TOP

脚本最后来一句 del %1 有没有用?

TOP

返回列表