Board logo

标题: [文件操作] [分享]批处理复制指定的子文件夹且保持权限不变 [打印本页]

作者: Batcher    时间: 2021-11-20 11:55     标题: [分享]批处理复制指定的子文件夹且保持权限不变

【问题描述】

这样的一个文件夹布局,需要复制1文件夹下多个文件夹Folder1、Folder2、Folder3、...下面的子级文件夹B和C里面所有内容到目标地址2文件夹,权限不变,这种选择性的复制咋个写?

tree /f

├─1
│  ├─Folder1
│  │  │  
│  │  ├─A
│  │  │      1.jpg
│  │  │      
│  │  ├─B
│  │  │      1-B.jpg
│  │  │      
│  │  ├─C
│  │  │  │  1-C.png
│  │  │  │  
│  │  │  └─C-1
│  │  │          C-1-C.png
│  │  │         
│  │  └─D
│  ├─Folder2
│  │  │  
│  │  ├─A
│  │  │      4.jpg
│  │  │      
│  │  ├─B
│  │  │      2-B.txt
│  │  │      
│  │  └─C
│  │          2-C.jpg
│  │         
│  └─Folder3
├─2
│  │  
│  ├─Folder1
│  │              
│  ├─Folder2
作者: Batcher    时间: 2021-11-20 11:55

【解决方案】
  1. @echo off
  2. REM 指定待处理的文件夹目录
  3. set "SrcFolder=C:\Users\Administrator\Desktop\1"
  4. REM 指定复制到哪一个文件夹目录
  5. set "DstFolder=C:\Users\Administrator\Desktop\2"
  6. REM 指定需要复制哪几个子文件夹
  7. set CopyList="B" "C"
  8. for /f "delims=" %%i in ('dir /b /ad "%SrcFolder%"') do (
  9.     echo 正在处理文件夹 %SrcFolder%\%%i
  10.     for %%j in (%CopyList%) do (
  11.         if exist "%SrcFolder%\%%i\%%~j\" (
  12.             xcopy /e /y /o "%SrcFolder%\%%i\%%~j" %DstFolder%\%%i\%%~j\
  13.         )
  14.     )
  15. )
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2