处理一些任务,正好用到,记录之
1 使用for,截取_之后的文件名,并重命名
@echo off & setlocal enableDelayedExpansion rem 1 这是提示输入文件位置,直接打开文件夹复制路径、黏贴就行 set /p path=please paste/input your Excel Path : cd /d %path% rem 2 这是通过循环去修改文件夹里面的文件 for /f "tokens=1-3 delims=_" %%i in (\'dir /aa /b %path%\') do ( ::echo in progressing %%i_%%j_%%k ren "%%i_%%j_%%k" %%k ) rem 3 结束,并打开文件位置 echo. echo. echo its ok now,the file locate at %path% C:\Windows\explorer.exe %path% 把这个放到bat文件里面,运行,按提示输入,就没问题了
2 替换文件名中的_,可以替换成任何字符,我这里只置空
@echo off & setlocal enableDelayedExpansion rem 1 这是提示输入文件位置,直接打开文件夹复制路径、黏贴就行 set /p path=please paste/input your Excel Path : cd /d %path% rem 2 这是通过循环去修改文件夹里面的文件名字 for /f "delims=!" %%i in (\'dir /aa /b %path%\') do ( ::echo in progressing %%i_%%j_%%k set str1=%%i set str2=!str1:_=! echo str1 is !str1! str2 is !str2! ren "!str1!" "!str2!" ) rem 3 结束,并打开文件位置 echo. echo. echo its ok now,the file locate at %path% C:\Windows\explorer.exe %path%
二者方法都类似,用到了for,用到了变量,和延迟变量开关
reference