我在网上找了些,自己添加了个手动输入字符如下:
@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」∠)_
关于批量删除文件名中特定字符串前的内容批处理改进
答案:1 悬赏:10
解决时间 2021-04-21 01:02
- 提问者网友:我是我
- 2021-04-20 17:48
最佳答案
- 二级知识专家网友:一场云烟
- 2021-04-20 18:19
@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
setlocal enabledelayedexpansion
set /p str=请输入要删除哪个字符串前的内容:
for %%i in ("*%str%*") do (
set "FileName=%%i"
set "FileName=!FileName:*%str%=%str%!"
echo !FileName!
ren "%%i" "!FileName!"
)
pause
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯