簡體   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