2011-08-17 7 views
0

ディレクトリからファイルとフォルダのセットを再帰的にコピーしようとしています。一連のファイルは、テキストファイルにリストされています。ここに私のスクリプトです:XCOPYは、ファイルに記載されているファイルとフォルダだけでなく、ディレクトリの内容全体をコピーしています。

set src_folder=C:\Users\mmhuqx\HW 
set dst_folder=C:\Unix2Windows 
set filelist=C:\Unix2Windows\filelist-tm.txt 
echo Origen: %src_folder% 
echo Destino: %dst_folder% 
echo. 

for /f "delims=" %%i in (%filelist%) do (
    xcopy /s /y "%src_folder%\%%i" "%dst_folder%" 
) 

しかし、私はスクリプトがコピーを実行すると、ファイルやフォルダを含む全体のディレクトリの内容はありません、テキストファイルに記載されています。

XCOPYを使用して動作させるにはどうすればよいですか、できませんか?

+0

私はあなたのスクリプトをテストしました。わたしにはできる。スクリプトを実行すると、コマンドラインは何を印刷しますか?たぶんそれはあなたにポインタを与えます。 – Kai

+0

ここにfilelist-tm.txtの内容を示します。 – user880222

+0

particulrにはポインタがありません。このスクリプトは、膨大な量のファイルとフォルダであるC:\ Users \ mmhuqx \ HWのすべてをコピーします。しかし、その目的は、テキストファイル(filelist-tm.txt)に記載されているファイルだけをコピーすることです。ここでは、テキストファイルの内容は次のとおりです。TOP_LEVEL \ MODEM_DEBUG TOP_LEVEL \ MODEM_DEBUG TOP_LEVEL \ MODEM_RELEASE TOP_LEVEL \ MODEM_DEBUG \ AENEAS_FW.fls TOP_LEVEL \ MODEM_DEBUG \ CDS TOP_LEVEL \ MODEM_DEBUG \ nvm_SAM _ * CFG TOP_LEVEL \ MODEM_DEBUG \ psi.fls TOP_LEVEL \ MODEM_DEBUG \ Platform.axf TOP_LEVEL \ MODEM_DEBUG \ PlatforTOP_LEVEL \ MODEM_DEBUG TOP_LEVEL \ MODEM_RELEASE TOP_LEVEL \ MODEM_DEBUG \ AENEAS_FW – user880222

答えて

0

filelist-tm.txtが間違っているようです。たとえば、エントリTOP_LEVEL\MODEM_DEBUGが含まれています。そのディレクトリはすべてのファイルで完全にコピーされます。

TOP_LEVEL\MODEM_DEBUG\AENEAS_FW.flsのみコピーされているようです。したがって、filelist-tm.txtにはこのエントリのみを含める必要があります。

+0

コメントありがとうございます。しかし、私はあなたが何を意味していたのか分かりません。 TOP_LEVEL \ MODEM_DEBUG \ AENEAS_FW.flsファイルだけでなく、リストされたファイルもコピーして、コピー中に同じディレクトリ構造を保持したいと思います。しかし、スクリプトは現在すべてをコピーしています。 XCOPYを使って私が意図したことをすることはできますか? – user880222

+0

スクリプトはディレクトリ構造を保持しません。これは、xcopyでファイルを '%dst_folder%'にコピーさせるためです。これを '%dst_folder%\ %% i'に変更すれば、これを修正できます。私の答えは、ファイルリストにディレクトリを指すエントリが含まれてはならないということでした。コピーするファイルのみが含まれている必要があります。 – Kai

+0

私は実際にこれを試して、すべてのdirエントリをテキストファイルから除外しました。しかしそれでも、ファイルセットだけをコピーするのではなく、ディレクトリ構造全体をコピーします。とにかくありがとう。 xcopyがこれを行うための正しいツールであるかどうかは不明です。 – user880222