Windows环境中,使用批处理修改特定文件名中的特定字符或者汉字
在某个文件夹下面,包含了几万个文件,且这些文件其中的一些包含了一些特定字符,例如:%,我想使用批处理一次性去除!还有就是文件名中因为某些原因,其中的一些字我写成了繁体,我...
在某个文件夹下面,包含了几万个文件,且这些文件其中的一些包含了一些特定字符,例如:%,我想使用批处理一次性去除!还有就是文件名中因为某些原因,其中的一些字我写成了繁体,我也... 在某个文件夹下面,包含了几万个文件,且这些文件其中的一些包含了一些特定字符,例如:%,我想使用批处理一次性去除! 还有就是文件名中因为某些原因,其中的一些字我写成了繁体,我也想使用批处理把它改成简体。 要求:1、我能够随意确定该文件夹下需要修改文件名的格式(也就是我能通过后缀名来确定需要修改的文件) 2、修改字符和汉字时,我要求通过输入来修改,不是在源bat文件中修改! 展开
展开
1个回答
展开全部
@echo
off&setlocal
enabledelayedexpansion
echo,&set/p
x=Step1.请输入文件后缀名(如txt,输入*表示所有文件):
echo,&set/p
sign=Step2.请输入要去除的字符,直接回车跳过此步:
echo,&set/p
change=Step3.请输入简繁替换汉字(如陈-^>陈),直接回车跳过此步:
echo,&echo,正在处理,请稍候...
for
%%i
in
(*.%x%)
do
(
set
"filename=%%i"
if
defined
sign
set
"filename=!filename:%sign%=!"
if
defined
change
set
"filename=!filename:%change:~,1%=%change:~-1%!"
if
not
"%%i"=="!filename!"
ren
"%%i"
"!filename!"
)
echo,处理完毕!按任意键退出...
pause>nul
将以上内容保存到记事本里,修改后缀名为.bat,放到该目录下双击运行即可。
因为没有很仔细地调试,有什么bug欢迎追问指出。
off&setlocal
enabledelayedexpansion
echo,&set/p
x=Step1.请输入文件后缀名(如txt,输入*表示所有文件):
echo,&set/p
sign=Step2.请输入要去除的字符,直接回车跳过此步:
echo,&set/p
change=Step3.请输入简繁替换汉字(如陈-^>陈),直接回车跳过此步:
echo,&echo,正在处理,请稍候...
for
%%i
in
(*.%x%)
do
(
set
"filename=%%i"
if
defined
sign
set
"filename=!filename:%sign%=!"
if
defined
change
set
"filename=!filename:%change:~,1%=%change:~-1%!"
if
not
"%%i"=="!filename!"
ren
"%%i"
"!filename!"
)
echo,处理完毕!按任意键退出...
pause>nul
将以上内容保存到记事本里,修改后缀名为.bat,放到该目录下双击运行即可。
因为没有很仔细地调试,有什么bug欢迎追问指出。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询