2016-10-24 5 views
0

forループとxcopyコマンドを使用して、ファイルリスト(filelist.txt)に記載した新しい場所にファイルのセットをコピーしようとしています。ただし、同じファイル名のディレクトリが作成されているスクリプトで問題が発生します。私はE Fまでのドライブからコピーしていますforループとファイル名を模倣したフォルダを作成するxcopyに関する問題?

for /f "delims=" %i in (filelist.txt) do echo D|xcopy "E:\files\%i" "F:\files\%i" /i /z /y 

お知らせ:

だから例えば、私はfilelist.txt

MC\1807\1807-06-10\M-1807-00246071.tif 
BC\1825\18250218\B-1825-00000012-0.tif 
BC\1837\18370727\B-1837-00000013-0.tif 
MC\1848\1848-08-04\M-1848-00000007.tif 
MC\1849\1849-02-24\M-1849-00000008.tif 

内で次を持つコマンドライン実行は次のようになります。だから、E上で、ファイルは、次のような格納されています。私は、XCOPYコマンドを実行した後

E:\files\MC\1807\1807-06-10\M-1807-00246071.tif 
E:\files\BC\1825\18250218\B-1825-00000012-0.tif 
E:\files\BC\1837\18370727\B-1837-00000013-0.tif 
E:\files\MC\1848\1848-08-04\M-1848-00000007.tif 
E:\files\MC\1849\1849-02-24\M-1849-00000008.tif 

は、私は、この結果セットを受け取ります。それは、ファイル名やのフォルダを作成する方法

F:\files\MC\1807\1807-06-10\M-1849-00000008.tif\M-1807-00246071.tif 
F:\files\BC\1825\18250218\M-1849-00000008.tif\B-1825-00000012-0.tif 
F:\files\BC\1837\18370727\M-1849-00000008.tif\B-1837-00000013-0.tif 
F:\files\MC\1848\1848-08-04\M-1849-00000008.tif\M-1848-00000007.tif 
F:\files\MC\1849\1849-02-24\M-1849-00000008.tif\M-1849-00000008.tif 

お知らせは、ソースディレクトリからコピー先ディレクトリへの直接コピーではなく、そのフォルダ内にファイルを配置しました。

これは、xcopyコマンドでどのように発生する可能性がありますか?

+1

"xcopy" E:\ files \%i "" F:\%〜pnxi "または同様のものです。 '〜'(チルダ)修飾子の説明は 'for /?'を参照してください。 – JosefZ

答えて

0

私はそれを理解しました。コピーを実行するときに、ディレクトリ(D)かファイル(F)かどうかを確認するメッセージが表示されます。私のエコーで、私は戻ってきたD:

for /f "delims=" %i in (filelist.txt) do echo D|xcopy "E:\files\%i" "F:\files\%i" /i /z /y 

それをエコーFに変更することで、これは解決されました。

for /f "delims=" %i in (filelist.txt) do echo F|xcopy "E:\files\%i" "F:\files\%i" /i /z /y 
関連する問題