Board logo

标题: [文件操作] 求助如何用批处理把一个或几个文件复制到多个目录下 [打印本页]

作者: whf    时间: 2023-9-16 10:56     标题: 求助如何用批处理把一个或几个文件复制到多个目录下

如何用批处理把一个或几个文件复制到多个目录下(2,3,4目录的其中一个目录)

前面两个目录名不固定,后面三、四级目录名是固定的目录树如下:
A\B\1\2
         \3
         \4

A1\B1\1\2
            \3
            \4
作者: 77七    时间: 2023-9-16 12:00

本帖最后由 77七 于 2023-9-16 12:06 编辑
  1. @echo off
  2. cd \
  3. for /f "delims=" %%i in ('dir /b /s /ad ^|findstr /r /c:".*\\.*\\1\\2$" /c:".*\\.*\\1\\3$" /c:".*\\.*\\1\\4$"') do (
  4. copy "d:\1.txt" "%%i"
  5. copy "d:\2.txt" "%%i"
  6. )
  7. pause
复制代码

作者: qixiaobin0715    时间: 2023-9-16 14:14

本帖最后由 qixiaobin0715 于 2023-9-16 15:51 编辑

回复 1# whf
感觉楼主描述的不是太清楚,帮你梳理一下。
A、A1...在同一个文件夹下;
如果A、A1...算作第1层文件夹的话,需要把指定文件复制到第4层文件夹下。
不知我理解的是否正确。
另外“指定文件”也需要描述一下:
一个好说,若干个的话,是在一个文件夹中所有的文件,还是分散到不同目录下?
作者: qixiaobin0715    时间: 2023-9-16 16:27

本帖最后由 qixiaobin0715 于 2023-9-16 16:31 编辑

按照顶楼所述和我的理解,假设指定文件为目录 D:\abc 下的所有jpg图片文件。把批处理文件保存为ANSI编码,放在A、A1...同目录中:
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /ad') do (
  3.     pushd "%%i"
  4.     for /f "delims=" %%j in ('dir /b /ad') do (
  5.         pushd "%%j\1"
  6.         for /f "delims=" %%k in ('dir /b /ad') do (
  7.             copy "D:\abc\*.jpg" "%%k\"
  8.         )
  9.         popd
  10.     )
  11.     popd
  12. )
  13. pause
复制代码





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