if not exist "$(TargetDir)..\SingleFolderOutput" mkdir -p "$(TargetDir)..\SingleFolderOutput"
for /r **%%x** in (*.dll, *.pdb, *.xml, *.xaml, *.exe, *.exe.config) do xcopy **"%%x"** "$(TargetDir)..\SingleFolderOutput" /Y
@echo off
if %1'==' goto usage
if %2'==' goto usage
if %3'==' goto usage
for /D %%F in (%1\*) do xcopy %%F\%2 %3 /D /Y
for /D %%F in (%1\*.) do call TreeCopy %%F %2 %3
goto end
:usage
@echo Usage: TreeCopy [Source folder] [Search pattern] [Destination folder]
@echo Example: TreeCopy C:\Project\UDI *.xsd C:\Project\UDI\SOA\Deploy\Metadata
:end
7条答案
按热度按时间1szpjjfi1#
如果您要复制多个文件并且不想一直回答“是”,请在上述命令的末尾使用/Y。
7qhs6swi2#
命令XCOPY
递归复制文件夹示例:
(as在WIKI后面的注解中指出,该命令自DOS 3.2开始可用)
oogrdqng3#
如果路径中有空格,请确保引号正确。
这是我的TFS生成服务器的生成后事件(这就是为什么有“%%”的原因)。我需要复制所有的测试文件。
v1uwarro4#
为了收集PBD文件,我最终得到了这样的结果:
cclgggtu5#
注意:如果您在cmd-file中使用 * 表示/r*,则必须为百分之二的字符数:
对于(.dll,pdb)中的/r%%x**,执行复制**"%%x”**目标目录\
093gszye6#
oknwwptz7#
我不知道有什么命令行工具可以直接执行此操作,但您可以创建一个批处理脚本来循环遍历子文件夹,并复制所需的文件。
但是,如果您将所有文件放置在同一个文件夹中,最终可能会得到具有重复文件名的文件。