我需要将一组DLL和PDB文件从一组文件夹中递归复制到另一个文件夹中。我不想在目标文件夹中重新创建文件夹层次结构。 我想使用内置的Windows工具,例如DOS命令。
答案 0 :(得分:104)
mkdir targetDir
for /r %x in (*.dll, *pdb) do copy "%x" targetDir\
如果要复制多个文件并且不想继续回答“是”,请在上述命令末尾使用/ Y.
答案 1 :(得分:36)
答案 2 :(得分:0)
如果您的路径中有空格,请确保您有正确的引号。
这是我的TFS构建服务器的postbuild事件(这就是为什么有" %%")。我需要复制所有测试文件。
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
答案 3 :(得分:0)
对于收集PBD文件,我最终得到了这一点:
cmd /q /c for /R "<your_source_folder>" %f in (*.pdb) do xcopy "%f" "<your_destination_folder>" /I /Y
答案 4 :(得分:-1)
@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
答案 5 :(得分:-2)
我不知道有任何直接执行此操作的命令行工具,但您可以创建一个批处理脚本来遍历子文件夹,并复制所需的文件。
但是,如果将文件全部放在同一文件夹中,则可能会出现文件名重复的文件。