66

一連の DLL ファイルと PDB ファイルを一連のフォルダーから再帰的に別のフォルダーにコピーする必要があります。ターゲット フォルダー内のフォルダー階層を再作成したくありません。組み込みの Windows ツール (DOS コマンドなど) を使用したい。

4

6 に答える 6

117
mkdir targetDir
for /r %x in (*.dll, *pdb) do copy "%x" targetDir\

複数のファイルをコピーしていて、「はい」と答え続けたくない場合は、上記のコマンドの最後に /Y を使用します。

于 2008-10-29T12:19:12.250 に答える
37

コマンド XCOPY

フォルダーを再帰的にコピーする例:

mkdir DestFolder
xcopy SrcFolder DestFolder /E

(以下のWIKIのコメントにあるように、コマンドは DOS 3.2 以降で使用可能になりました)

于 2012-12-03T11:03:42.157 に答える
0

パスにスペースがある場合は、引用符が正しいことを確認してください。

これは、私の TFS ビルド サーバーのビルド後のイベントです (「%%」があるのはそのためです)。すべてのテスト ファイルをコピーする必要がありました。

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
于 2014-06-13T13:48:16.620 に答える
-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
于 2011-04-12T08:57:09.260 に答える
-3

これを直接実行するコマンド ライン ツールは知りませんが、バッチ スクリプトを作成してサブ フォルダーをループし、必要なファイルをコピーすることができます。

ただし、すべてのファイルを同じフォルダーに配置すると、ファイル名が重複するファイルになる可能性があります。

于 2008-10-29T12:17:39.133 に答える