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

时间:2017-03-13 09:32:15

标签: batch-file rename

我有一些文件夹显示AA2017-123-TEXTAA2017-124-TEXTS。 我正在尝试使用批处理将这些文件重命名为AA2017-123,并AA2017-124从文件夹名称中删除文本。那就是我只想要文件夹名称中的前8个字符。 我正在使用Windows 7

2 个答案:

答案 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
)