繁体   English   中英

创建Windows 8批处理文件,以递归方式复制,重命名和保存子目录中的文件

[英]create windows 8 batch file to copy, rename and save files from sub directories recursively

我正在尝试复制数千个图像文件,并使用它们所在的文件夹名称重命名它们。文件结构为: -

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]_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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM