截断和重命名目录中的子目录

罗恩·伊兹

我有几个文件夹命名为:

001TRIAL1
002TRIAL2
003TRIAL3
...etc.

我正在尝试使用重命名所有文件夹并截断它们以获得:

TRIAL1
TRIAL2
TRIAL3
...etc.

我试过这个代码:

for /D %%X in (C:\FOLDER1\FOLDER2\*) do (
    move %%X %%X:~3,10%
)
Pause

但我无法得到我想要的结果。

这个脚本不起作用,我不知道我该怎么做。重命名允许重命名文件夹,但我无法截断我想要的文件夹。

组合

您不能像那样扩展元变量,您需要将值设置为适当的变量,然后执行扩展。此外,由于变量将在代码块中设置,因此您需要启用延迟扩展。最后,您将使用Rename not Move,这将要求该目录已经存在,并且您需要删除原始目录 post rename

试试这个:

@Echo Off
SetLocal DisableDelayedExpansion
For /D %%A In ("C:\FOLDER1\FOLDER2\*") Do (
    Set "_d=%%~nxA"
    SetLocal EnableDelayedExpansion
    If Not Exist "%%~dpA!_d:~3!" Ren "%%A" "!_d:~3!"
    EndLocal
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章