批处理:批量替换文件或者文件夹指定的字符串
案例:如文件1-a.txt,2-a.txt,...,可以指定去掉-a,这里的同理,文件夹也是...可以替换,也可以直接去掉......
案例:如文件1-a.txt,2-a.txt,...,可以指定去掉-a,这里的同理,文件夹也是...
可以替换,也可以直接去掉... 展开
可以替换,也可以直接去掉... 展开
1个回答
展开全部
将bat文件放在文件夹(含有要修改的文件、文件夹)中。
这个代码的作用是删除,如果要替换,将这一句
Set b=!a:-a=!
修改成
Set b=!a:-a=替换!
@echo off&SetLocal EnableDelayedExpansion
For /f "delims=" %%i in ('dir /b') do (
Set a=%%i
Set b=!a:-a=!
ren "!a!" "!b!" )
pause
这个代码的作用是删除,如果要替换,将这一句
Set b=!a:-a=!
修改成
Set b=!a:-a=替换!
@echo off&SetLocal EnableDelayedExpansion
For /f "delims=" %%i in ('dir /b') do (
Set a=%%i
Set b=!a:-a=!
ren "!a!" "!b!" )
pause
更多追问追答
追问
我上面的-a只是一个例子,有可能是任何字符的,您的方法估计可以实现,但能否更加通用?比如,我自己去定义要删除或要替换的字符,定义一个参数:原字符,再定义一个参数:新字符,如果为空就是相当于删除了…
追答
@echo off&SetLocal EnableDelayedExpansion
set /p old=输入原字符:
Set /p new=输入新字符:
For /f "delims=" %%i in ('dir /b') do (
Set a=%%i
Set b=!a:%old%=%new%!
ren "!a!" "!b!" )
pause
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询