Board logo

标题: [文件操作] 批处理重命名的时候,系统总是提示找不到指定文件,求解 [打印本页]

作者: blueskyforme    时间: 2021-8-28 07:15     标题: 批处理重命名的时候,系统总是提示找不到指定文件,求解

各位大神好,在用批处理重命名一个路径下的文件的时候,它会遍历该路径下的所有文件。但是总是提示系统找不到指定文件。但是运行后,文件都已经被成功执行了重命名。
请问代码如何修改,能让这个错误提示消失呢?

代码如下:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for  %%x in (*) do (
  4.     if not "%%x"=="demo.bat" (
  5.         set /a sum+=1
  6.         rename "*.7z" "*.yw"
  7. )
  8. )
  9. pause
复制代码

作者: qixiaobin0715    时间: 2021-8-28 08:59

本帖最后由 qixiaobin0715 于 2021-8-28 09:01 编辑

回复 1# blueskyforme
有提示很正常:
1.if语句在这里没有什么作用,因为后面的重命名命令已经指定是修改扩展名为7z的文件,去掉也不会修改demo.bat。
2.第一次循环后就修改了所有指定的文件,所以接下来再循环时会有提示找不到指定文件(指定文件已经被修改)。
3.不用判断语句,不要用循环,也不要变量延迟,只保留一句即可:
rename "*.7z" "*.yw"
作者: cmd1152    时间: 2021-8-28 10:36

回复  blueskyforme
有提示很正常:
1.if语句在这里没有什么作用,因为后面的重命名命令已经指定是修改扩 ...
qixiaobin0715 发表于 2021-8-28 08:59

    最简单的命令是:
  1. ren *.7z *.yw
复制代码

作者: qixiaobin0715    时间: 2021-8-28 11:22

黑雨伞,花雨伞
作者: cmd1152    时间: 2021-8-28 12:17

回复 4# qixiaobin0715


    什么意思
作者: qixiaobin0715    时间: 2021-8-28 14:10

只是打了个比喻。
黑雨伞:功能比较单一,主要是遮雨,当然也能遮阳,效果就差点。
花雨伞:用途非常广。遮雨;遮阳的效果好,可反射阳光;美观,姑娘们喜欢用,起到装饰作用;.....
写代码也一样。楼主已经养成了rename命令后面加引号的好习惯,不影响代码的美观和效率,为什么非要将别人的好习惯改掉呢?




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2