Board logo

标题: 求助 如何用批处理重命名文件 [打印本页]

作者: gene771771     时间: 2006-12-8 10:25    标题: 求助 如何用批处理重命名文件

朋友有个服务器,他问我,他有个目录在d:\
d:\html 里边有很多子目录,子目录里边又有很多*.htm 文件,如何用批处理把*.htm 全部改成 *.html 呢。请高手指点。
作者: zh159     时间: 2006-12-8 10:31

@echo off
for /f "delims=" %%i in ('dir/b/s *.htm^|find ".htm"') do echo "%%i" "%%il"
pause

作者: namejm     时间: 2006-12-8 10:50
  zh159 兄 dir 之后再 find 的方案仍然有可能找到以 .htm 结尾的文件夹名,因为在 dir 的时候没有用参数过滤掉文件夹,dir 再加个参数 /a-d 就可以省去 find 的步骤了。在2F的基础上修改演示代码如下:
@echo off
for /f "delims=" %%i in ('dir /a-d /b/s d:\html\*.htm') do echo "%%i" "%%il"
pause

作者: gene771771     时间: 2006-12-8 10:53    标题: TO namejm

非常谢谢版主,因为我网速慢,刚才我以为没有发上帖子就从新再发了一遍,但是刚才发现发重了,对不起,我不是故意刷的。麻烦把把那个帖子删了吧,谢谢你。
作者: 3742668     时间: 2006-12-8 12:28

@echo off
    pushd d:\html
    ren *.htm *.html 2>nul
    for /r /d %%i in (*) do ren "%%i\*.htm" "%%i\*.html" 2>nul
    popd
exit /b 0
理论上行得通,未测试。