批处理_⽂件名操作
使⽤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
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论