标题: [文件操作] 批处理怎么批量修改文件夹名字? [打印本页]
作者: o0star0o 时间: 2021-2-4 17:38 标题: 批处理怎么批量修改文件夹名字?
把某个文件夹下面的文件名包含有“数字”的名字的文件夹进行处理
1.if文件名有JLID的就不动
2.if文件名最最前面无ID文字,就把文件名前面加上JLID
3.if文件名最前面只有ID无JL,就把文件名前面加上JLID
求大神帮忙
作者: Batcher 时间: 2021-2-4 18:02
回复 1# o0star0o
请针对每个不同的场景给出一个真实的例子,比如改名之前是什么,改名之后是什么,等等。
作者: o0star0o 时间: 2021-2-4 20:23
回复 2# Batcher
谢谢回复,具体场景是:
1.把ID开头的,修改为:JLID
2.把xf开头的,修改为:JLIDxf
其他不变,只把开头为这个的做替换
作者: qixiaobin0715 时间: 2021-2-4 21:50
本帖最后由 qixiaobin0715 于 2021-2-4 22:33 编辑
- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('dir /b /ad') do (
- set "str=%%a"
- if "!str:~0,2!"=="ID" ren "%%a" "JL%%a"
- if "!str:~0,2!"=="xf" ren "%%a" "JLID%%a"
- )
- pause
复制代码
作者: o0star0o 时间: 2021-2-4 23:17
本帖最后由 o0star0o 于 2021-2-4 23:29 编辑
回复 4# qixiaobin0715
谢谢!测试可以用,但是需要把子文件夹同样柜子的文件也进行修改,麻烦您帮我修改下呢
(请问是放在当期文件夹执行,只修改当前文件夹和当期文件夹下面的子文件夹是吧?)
作者: qixiaobin0715 时间: 2021-2-5 06:39
回复 5# o0star0o
尽量一次把需求说清楚。你是说文件和文件夹名都修改,是吗。
作者: o0star0o 时间: 2021-2-5 14:25
回复 6# qixiaobin0715
只修改文件名,修改当前文件夹的名字,和当前文件夹下面子文件夹的名字
不修改具体的文件哈
作者: qixiaobin0715 时间: 2021-2-5 16:07
回复 7# o0star0o
当前文件夹不就是1个吗?就是你打开的文件夹。
作者: qixiaobin0715 时间: 2021-2-5 16:35
回复 7# o0star0o
还是没说清楚,只能猜了:- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('dir /b/s /ad^|sort /+50') do (
- set "str=%%~nxa"
- if "!str:~0,2!"=="ID" ren "%%a" "JL!str!"
- if "!str:~0,2!"=="xf" ren "%%a" "JLID!str!"
- )
- pause
复制代码
作者: o0star0o 时间: 2021-2-5 21:32
回复 9# qixiaobin0715
可以正确的,万分感谢!麻烦再给我写个可以吗?
把当前文件夹以及当前文件夹下面的子文件夹中的文件名3个空格的,全部修改为1个空格
作者: qixiaobin0715 时间: 2021-2-5 22:43
本帖最后由 qixiaobin0715 于 2021-2-5 22:45 编辑
回复 10# o0star0o - @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('dir /b/s /ad^|sort /+100') do (
- set "str=%%~nxa"
- set "str=!str: = !
- ren "%%a" "!str!"
- )
- pause
复制代码
作者: 朱科技 时间: 2021-2-6 10:40
回复 11# qixiaobin0715
大神优秀哦,代码写的这么好,让我看着压力好大啊
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |