联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
@echo off&setlocal EnableDelayedExpansion set a=1 for /f "delims=" %%i in ('dir /a-d/b/s') do ( if not "%%~ni"=="%~n0" ( ren "%%i" "%%~ni!a!%%~xi" set/a a+=1 ) )
Originally posted by 26933062 at 2006-12-23 14:45: 我想批量修改文件名前缀要求如下 原文件名a.txt b.txt ll.txt sds.txt..................有很多 要求:原文件名不变只是在后面加上序号如: a ren.bat @ echo off set s=1 dir /b >>filename.txt :: 将文件名提取 for /f "eol=; delims=.txt," %%a in (filename.txt) do ( (ren %%a.txt %%a%s%.txt ) set /a s+=1 ) pause >nul 刚才看错了 注意这个不能处理空格,哪位帮忙改一下? Last edited by scriptor on 2006-12-23 at 03:26 PM ]
@echo off&setlocal EnableDelayedExpansion dir | find ".txt" >name.txt set a=1 for /f "tokens=4 delims= " %%i in (name.txt) do ( if not "%%~ni"=="%~n0" ( ren "%%i" "%%~ni!a!%%~xi" set/a a+=1 ) )
Originally posted by ccwan at 2006-12-23 16:20: 你的 dir | find ".txt" >name.txt 命令,生成的name.txt里有空格,以你的代码,会忽略空格后的内容