我有一些文件夹,其中 AA2017-123-TEXT
和 AA2017-124-TEXTS
。我正在尝试使用批处理将这些文件重命名为AA2017-123
,而AA2017-124
从文件夹名称中删除了文本。那就是我只需要文件夹名称中的前8个字符。我正在使用Windows 7
可以准确地执行所要求的事情,即拆分一定数量的字符,可以使用以下代码段(例如,在此处提取第一个10
字符):
for /F "delims=" %%D in ('dir /B /A:D "*"') do (
set "FOLDER=%%D"
setlocal EnableDelayedExpansion
move "!FOLDER!" "!FOLDER:~,10!"
endlocal
)
有几种方法可以完成您的任务,imo最简单的是使用连字符作为循环中的定界符。
在CMD线中
for /f "tokens=1,2* delims=-" %a in ('dir /B/ad *-*-*') do @echo ren "%a-%b-%c" "%a-%b"
在批处理
中for /f "tokens=1,2* delims=-" %%a in ('dir /B/ad *-*-*') do echo ren "%%a-%%b-%%c" "%%a-%%b"
如果输出外观可以,请删除echo