如何重命名文件夹保留前8个字符并删除其余的文件夹



我有一些文件夹,其中 AA2017-123-TEXTAA2017-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

最新更新