复制具有匹配字符串的目录以及所有子目录和文件

copy directories with matching string and all sub-directories and files

我有一个新手问题。我正在尝试使用 XCOPY 复制所有以字符串“44*”开头的目录以及其中的所有文件和子目录,无论它们的名称如何。

我已使用它来抓取适当的文件,但目录结构没有出现。

@echo off
for /f "delims=" %%a in ('dir /b/ad 
"C:\sourcepathgoeshere*" ') do xcopy /s /i /v 
"C:\sourcepathgoeshere\%%a\*" 
C:\destinationpath

我能够先使用 /t 复制结构,但这只会创建一堆空目录,其中包含所有文件。

感谢您帮助将这些基本部分组合在一起。

do xcopy /s /i /v "C:\sourcepathgoeshere\%%a*" "C:\destinationpath\%%a"

您并没有具体说明您遇到的问题是什么。我在上面所做的更改对我有效,生成

c:\destinationpath-abc\(filetree from 44-abc)
c:\destinationpath-xyz\(filetree from 44-xyz)

IOW,仅复制源中以 44.

开头的目录

还要求 xcopy 命令都在一条物理线路上。

我对 dir 语句中间的换行符感到不满意。它似乎有效,但我会在 ') 之间打破它。