标题: [文件操作] 求助遍历并修改子目录文件名的批处理程序 [打印本页]
作者: blueskyforme 时间: 2021-4-20 14:57 标题: 求助遍历并修改子目录文件名的批处理程序
求助大神,我需要一个遍历子目录并修改文件名的批处理程序。
具体的情况是:
在一个路径下,假如有5个目录,每个目录里都有一个后缀名为.aa的文件。那么我需要一个程序进行判断,如果子目录下存在一个后缀名为.aa的文件,那么就把子目录里的这个文件的后缀修改为.bb。
修改前:
<目录1>/文件1.aa
<目录2>/文件2.aa
<目录3>/文件3.aa
<目录4>/文件4.aa
<目录5>/文件5.aa
修改后:
<目录1>/文件1.bb
<目录2>/文件2.bb
<目录3>/文件3.bb
<目录4>/文件4.bb
<目录5>/文件5.bb
请问这样的程序怎么写?谢谢了!
作者: qixiaobin0715 时间: 2021-4-20 15:03
本帖最后由 qixiaobin0715 于 2021-4-20 15:12 编辑
- @echo off
- for /d %%a in (*) do (
- pushd "%%a"
- if exist *.aa for %%b in (*.aa) do ren "%%b" "%%~nb.bb"
- popd
- )
- pause
复制代码
作者: qixiaobin0715 时间: 2021-4-20 15:41
本帖最后由 qixiaobin0715 于 2021-4-20 16:45 编辑
这样更简洁:- @echo off
- for /d %%a in (*) do (
- pushd "%%a"
- if exist "*.aa" ren "*.aa" "*.bb"
- popd
- )
- pause
复制代码
作者: Batcher 时间: 2021-4-20 17:53
回复 3# qixiaobin0715
if exist "*.aa" 去掉好像也不影响结果
作者: qixiaobin0715 时间: 2021-4-20 21:51
回复 4# Batcher
对结果倒是没什么影响,如果某个文件夹中没有扩展名是aa的文件,就会提示“系统找不到指定的文件”。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |