我试图复制成千上万的图像文件,并用它们所在文件夹的名称重命名它们。文件结构是: –
C:\pictures\kitcam\1\master_01.jpg C:\pictures\kitcam\1\master_02.jpg C:\pictures\kitcam\2\master_01.jpg C:\pictures\kitcam\3\master_01.jpg C:\pictures\kitcam\3001\master_01.jpg
我想创build一个新的目录C:\pictures\kitcam\all
,然后将上面的文件复制并重命名为以下命名约定:
c:\pictures\kitcam\all\[directoryname]_filename]
(将目录名称填充为4位,以使导演名称1变为0001等)
例如:-
C:\pictures\kitcam\all\0001_master_01.jpg
乔纳森
@ECHO OFF &SETLOCAL SET "startfolder=C:\pictures\kitcam" SET "targetfolder=C:\pictures\kitcam\all" FOR /r "%startfolder%" %%a IN (*.jpg) DO ( SET "fname=%%~nxa" SET "fpath=%%~fa" FOR /f "delims=" %%b IN ("%%~dpa.") DO SET "nname=000%%~nxb" SETLOCAL ENABLEDELAYEDEXPANSION ECHO MOVE "!fpath!" "%targetfolder%\!nname:~-4!_!fname!" ENDLOCAL )
看看输出,并在move
之前删除单词echo
,如果它看起来不错。