关于批量删除文件名中特定字符串前的内容批处理改进

我在网上找了些,自己添加了个手动输入字符如下:@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」∠)_
展开
 我来答
aiwozhonghuaba
推荐于2017-09-12 · TA获得超过414个赞
知道小有建树答主
回答量:305
采纳率:0%
帮助的人:261万
展开全部
@echo off
setlocal enabledelayedexpansion
set /p str=请输入要删除哪个字符串前的内容:
for %%i in ("*%str%*") do (
    set "FileName=%%i"
    set "FileName=!FileName:*%str%=%str%!"
    echo !FileName!
    ren "%%i" "!FileName!"
)
pause
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式