簡體   English   中英

使用批處理腳本將特定文件從源目錄復制到目標目錄和子目錄

[英]Copy specific file from source directory to target directory and sub-directories using batch script

我想將特定文件復制到目標目錄結構,即所有文件夾以及子文件夾和子子文件夾。 基本上是目錄樹。

我嘗試使用robocopy,但是它只能在源上而不是在目標上刪除級別

到目前為止,這是我嘗試過的自動復制和簡單批處理

:: copies to only one target directory
robocopy "%SOURCE_FILE_DIR_PATH%" "%TARGET_ROOT_FOLDER_PATH%" %FILE_NAME%
:: copies to only 1 sub-level
for /f "delims=" %%a in ('dir /b "%TARGET_ROOT_FOLDER_PATH%"') do (
    for /f "delims=" %%b in ('dir /b "%TARGET_ROOT_FOLDER_PATH%\%%a"') 
    do (
        copy /y "%FILE_NAME%" "%TARGET_ROOT_FOLDER_PATH%\%%a\%%b"    
    )
)

您可以結合使用/D/R選項來迭代目錄樹。 所以我認為這對您有用。

set "TARGET_ROOT_FOLDER_PATH=C:\folder\subfolder"
set "FILE_NAME=foo.txt"
FOR /D /R "%TARGET_ROOT_FOLDER_PATH%" %%G IN (*) DO COPY /y "%FILE_NAME%" "%%G"

您可以稍微修改代碼以使用DIR命令的/AD/S選項。

for /f "delims=" %%G in ('dir /ad /b /s "%TARGET_ROOT_FOLDER_PATH%"') do copy  "%FILE_NAME%" "%%G"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM