@echo off
setlocal enabledelayedexpansion
dir /a-d /b *(?)*.txt *(?)*.jpg >temp.tmp
for /f %%i in ('type temp.tmp') do (
set itmp=%%i
set "itmp=!itmp:(=0!"
set "itmp=!itmp:)=!"
echo 修改文件名:%%i 为 !itmp!
ren %%i !itmp!
)
del temp.tmp
dir /a-d /b *(??)*.txt *(??)*.jpg >temp.tmp
for /f %%i in ('type temp.tmp') do (
set itmp=%%i
set "itmp=!itmp:(=!"
set "itmp=!itmp:)=!"
echo 修改文件名:%%i 为 !itmp!
ren %%i !itmp!
)
del temp.tmp
上面的代码完整复制为一个bat文件,放在要改名的文件相同的文件夹下运行即可,第一段改0-9,第二段改10-99
追问谢谢!
我用了这个试了,不行啊?大神能再帮忙看下不
追答文件名里有空格自己改一下批处理参数就好啊。。我这么回答还反扣10财富
改成下面的这些
@echo off
setlocal enabledelayedexpansion
dir /a-d /b *(?)*.txt *(?)*.jpg >temp.tmp
for /f "tokens=*" %%i in (temp.tmp) do (
set itmp=%%i
set "itmp=!itmp:(=0!"
set "itmp=!itmp:)=!"
echo 修改文件名:%%i 为 !itmp!
ren "%%i" "!itmp!"
)
del temp.tmp
dir /a-d /b *(??)*.txt *(??)*.jpg >temp.tmp
for /f "tokens=*" %%i in (temp.tmp) do (
set itmp=%%i
set "itmp=!itmp:(=!"
set "itmp=!itmp:)=!"
echo 修改文件名:"%%i" 为 "!itmp!"
ren "%%i" "!itmp!"
)
del temp.tmp