创建windows 8批处理文件以递归方式复制、重命名和保存子目录中的文件
我正在尝试复制数千个图像文件,并用它们所在的文件夹名称重命名它们。文件结构为:-创建windows 8批处理文件以递归方式复制、重命名和保存子目录中的文件,windows,batch-file,cmd,directory,Windows,Batch File,Cmd,Directory,我正在尝试复制数千个图像文件,并用它们所在的文件夹名称重命名它们。文件结构为:- 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 我想创建一个新目录C:\pictures\kitcam\al
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
我想创建一个新目录C:\pictures\kitcam\all
,并将上述文件复制并重命名为以下命名约定:-
c:\pictures\kitcam\all\[directoryname]\u 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
,如果它看起来不错的话。哇,太棒了,我终于可以清除我的iPad上的所有kitcam照片了-非常感谢!!!!!