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

大佬,产生的第一个abc.bat能修改为abc0.bat。产生第二abc.bat提示重命名冲突,而不是改为abc1.bat。还请大佬再看看,谢谢。

TOP

  1. @Echo off&SetLocal EnableDelayedExpansion&set n=0
  2. :start
  3. if exist e:\abc.dat (set /a n=+1&ren e:\abc.dat abc!n!.dat)else timeout 15
  4. goto start
复制代码

TOP

:start
if exist e:\abc.dat (
        ren abc.dat abc0.dat
ren abc.dat abc1.dat
ren abc.dat abc2.dat
ren abc.dat abc3.dat
ren abc.dat abc4.dat
ren abc.dat abc5.dat
ren abc.dat abc6.dat
ren abc.dat abc7.dat
ren abc.dat abc8.dat
ren abc.dat abc9.dat
ren abc.dat abc10.dat
ren abc.dat abc11.dat
ren abc.dat abc12.dat
        goto start
) else (
        rem 不存在,休息15秒,再检查
        timeout 15
        goto start
)

没有好办法,只有通过笨法来实现了。

@追梦人 @binghejin

TOP

既然可以改名 那么这个文件对于程序运行时没有影响的,直接批处理删除就好,或者自己建一个同名文件,设置只读。

TOP

本帖最后由 福垊 于 2021-4-5 16:23 编辑

@追梦人 大神,我简单修订了您的代码,来实现重命名。
:start
if exist e:\abc.dat (
         ren abc.dat abc0.dat
        goto start
) else (
        rem 不存在,休息15秒,再检查
        timeout 15
        goto start
)

可只要一出现就会顺延重命名怎么实现呢?
可如何再出现一个abc.dat,我想把它命名为abc1 .bat怎么实现。
总之,只要出现abc.dat,就立即重命名,并以此为abc1、 abc2、abc3……,这样循环下去。

TOP

本帖最后由 福垊 于 2021-4-5 16:03 编辑

回复 3# 追梦人
经亲测很好很强大,谢谢。请问能不能将删除改为重命名或者移动呢?因为删除该文件后,影响系统。另外是超过15K,不是15秒。

TOP

本帖最后由 福垊 于 2021-4-5 15:59 编辑

回复 2# binghejin
经测试,效果很好,效率很高。只是这个bat文件,删除之后,影响系统,那么能不能对它改名改名或移动呢?
再次感谢。

TOP

:start
if exist e:\abc.dat (
        del e:\abc.dat
        goto start
) else (
        rem 不存在,休息15秒,再检查
        timeout 15
        goto start
)
楼主,保存为bat后缀文件,放到启动文件夹,开机会自启动,就行了,我的启动文件夹目录是"C:\Users\xxx(用户名)\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup",供你参考
1

评分人数

TOP

@echo off
cls
if exist e:\abc.dat del /q e:\abc.dat
1

评分人数

TOP

返回列表