我有几个文件夹命名为:
001TRIAL1
002TRIAL2
003TRIAL3
...etc.
我正在尝试使用批处理文件重命名所有文件夹并截断它们以获得:
TRIAL1
TRIAL2
TRIAL3
...etc.
我试过这个代码:
for /D %%X in (C:\FOLDER1\FOLDER2\*) do (
move %%X %%X:~3,10%
)
Pause
但我无法得到我想要的结果。
这个脚本不起作用,我不知道我该怎么做。重命名允许重命名文件夹,但我无法截断我想要的文件夹。
您不能像那样扩展元变量,您需要将值设置为适当的变量,然后执行扩展。此外,由于变量将在代码块中设置,因此您需要启用延迟扩展。最后,您将使用Ren
ame 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] 删除。
我来说两句