批处理_⽂件名操作
使⽤Revit批量导出CAD或PDF的时候⽂件名总会带⼀些前缀,⽤批处理写了⼀个⼩脚本去对⽂件名进⾏操作,可以实现批量去除前缀,添加前缀,字符串替换
以下核⼼代码:
rem 添加前缀
:cmdAddPrefix
echo 要处理的⽂件类型:
rem 取得输⼊的⽂件类型
set /p type=
echo 添加的前缀:
rem 取得输⼊的前缀
set /p prefix=
虎虎孙坚
echo.
rem 遍历⽂件
for /f "delims=" %%i in ('dir /a /b *.%type%') do (
rem 显⽰修改内容
echo %%i  ^>^>^>  %prefix%%%i
set /a changeFileNum+=1
叶一云rem 修改⽂件名称
于小慧的胸有多大ren "%%i" "%prefix%%%i"&&set /a fileNum+=1
)
goto comit
rem 删除前缀
:
cmdDelPrefix
echo 要处理的⽂件类型:
rem 取得输⼊的⽂件类型
set /p type=
echo 删除的前缀:
rem 取得待删除的前缀
set /p prefix=
set str=%prefix%
rem 获得前缀的字符长度
:next
if not "%str%"=="" (
set /a preNum+=1
set "str=%str:~1%"liuruoying
goto next
)
郑家榆 三级rem 变量延迟扩展
setlocal enabledelayedexpansion
echo.
rem 遍历⽂件
for /f "delims=" %%i in ('dir /a /b %prefix%*.%type%') do (
set var=%%i
rem 截取字符串
set "var=!var:~%preNum%!"
rem 显⽰修改内容
echo %%i  ^>^>^>  !var!
set /a changeFileNum+=1
rem 修改⽂件名称
ren "%%i" "!var!"&&set /a fileNum+=1
)
goto comit
rem 替换字符串
:cmdReplaceStr
echo 要处理的⽂件类型:
rem 取得输⼊的⽂件类型
set /p type=
echo 被替换的字符:描写植物的现代诗歌
rem 取得要被替换的字符串
set /p str=
echo 替换的字符:
rem 取得⽤于替换的字符串
set /p str1=
echo.
rem 变量延迟扩展
setlocal enabledelayedexpansion
rem 遍历⽂件
for /f "delims=" %%i in ('dir /a /b *.%type%') do (  set var=%%i
rem 替换字符串
set var=!var:%str%=%str1%!
rem 显⽰修改内容
echo %%i  ^>^>^>  !var!
set /a changeFileNum+=1
rem 修改⽂件名称
ren "%%i" "!var!"&&set /a fileNum+=1
)
goto comit