我有一些文件夹显示AA2017-123-TEXT
和AA2017-124-TEXTS
。
我正在尝试使用批处理将这些文件重命名为AA2017-123
,并AA2017-124
从文件夹名称中删除文本。那就是我只想要文件夹名称中的前8个字符。
我正在使用Windows 7
答案 0 :(得分:0)
有几种方法可以完成你的任务,IMO最简单的是在for循环中使用连字符作为分隔符。
在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"
如果输出看起来没问题,请删除回声
答案 1 :(得分:0)
要完全按照要求进行操作,即拆分一定数量的字符,可以使用以下代码段(例如,在此处提取第一个10
字符):
for /F "delims=" %%D in ('dir /B /A:D "*"') do (
set "FOLDER=%%D"
setlocal EnableDelayedExpansion
move "!FOLDER!" "!FOLDER:~,10!"
endlocal
)