关于批量删除文件名中特定字符串前的内容批处理改进
我在网上找了些,自己添加了个手动输入字符如下:@echooffsetlocalenabledelayedexpansionecho"请输入要删除哪个字符串前的内容"set...
我在网上找了些,自己添加了个手动输入字符如下:
@echo off
setlocal enabledelayedexpansion
echo "请输入要删除哪个字符串前的内容"
set /p str=
setlocal enabledelayedexpansion
FOR %%F IN (*%str%*.*) DO (
SET FileName=%%~nF
SET FileName=!FileName:*%str%=!
SET FileName=!FileName!%%~xF
ECHO !FileName!
RENAME %%F !FileName!
)
ENDLOCAL
如上,但有个缺点,这个批处理在删除时会把我指定的字符一起删除。比如我重命名001abc011.mp4、002abc012.mp4文件时,指定abc字符,但批处理会把abc一起删除,变成011.mp4、012.mp4。而我想保留abc字符只删除前面的,变成abc011.mp4、abc012.mp4,不知怎么改进这个批处理呢?不然又要多一道加前缀的工序,好麻烦……自己还没学编程什么的……虚心求教,不过没财富值了……所以见谅_(:3」∠)_ 展开
@echo off
setlocal enabledelayedexpansion
echo "请输入要删除哪个字符串前的内容"
set /p str=
setlocal enabledelayedexpansion
FOR %%F IN (*%str%*.*) DO (
SET FileName=%%~nF
SET FileName=!FileName:*%str%=!
SET FileName=!FileName!%%~xF
ECHO !FileName!
RENAME %%F !FileName!
)
ENDLOCAL
如上,但有个缺点,这个批处理在删除时会把我指定的字符一起删除。比如我重命名001abc011.mp4、002abc012.mp4文件时,指定abc字符,但批处理会把abc一起删除,变成011.mp4、012.mp4。而我想保留abc字符只删除前面的,变成abc011.mp4、abc012.mp4,不知怎么改进这个批处理呢?不然又要多一道加前缀的工序,好麻烦……自己还没学编程什么的……虚心求教,不过没财富值了……所以见谅_(:3」∠)_ 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询