使用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%"
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
微信公众号:xuebim
关注建筑行业BIM发展、研究建筑新技术,汇集建筑前沿信息!
← 微信扫一扫,关注我们+
评论前必须登录!
注册