バッチファイルを使用して、テキストファイルのすべてのファイルを1つのコピー先から別のコピー先にコピーします。ソースの宛先に複数のサブフォルダがあり、ファイル名の各サブフォルダを検索するバッチが必要です。テキストファイルにリストされているファイルをフォルダとそのサブフォルダから新しい場所にコピーするバッチスクリプト
フォルダだけをコピーしたくないので、ファイルだけをコピーしてください。
私は、次のコードを持っていますが、私もあればそう、私が見ることができる「notcopied.txt」ファイルと呼ばれるテキストファイルを書きたい
set src=c:\files\sourcefolder\
set dst=c:\files\destinationfolder\
set file_list=c:\\files\files.txt
for /r "%src%" %%i in (%file_list%) do copy "%%i" "%dst%" >notcopied.txt
それは(%file_listの%)を認識していません必要なファイルがソースフォルダにありませんでした。そのファイルをコピー先のフォルダに書きたいと思います。例えば
:
files.txt contains
File1.pdf
File2.pdf
File3.pdf
ソースフォルダが
File1.pdf
File2.pdf
が含まれていnotcopied.txtは、任意の洞察力のための
File3.pdf
感謝が表示されます。
は、あなたが '/ F'ループの必要なテキストファイルから読み込むには、あなたの'のために/ R'ループはありませんファイルシステムにアクセスすることさえありません(ワイルドカードがないので、私はこれを 'for'の設計上の欠陥とみなします)。 'for/F'を使って' files.txt'を調べ、 'dir/B/S'を使って各項目を再帰的に検索し、別のネストされた' for/F'ループでその出力を解析します。ソース内のサブディレクトリにファイルがある場合、そのファイルをコピー先の同じサブディレクトリにコピーするか、コピー先のフラットファイル(サブフォルダなしでファイルのみ)にコピーしますか? – aschipfl
私は新しいフォルダに書き込んで同じサブディレクトリをコピーしないことをお勧めします。 – vonN00B
それで、私が言及したループ構造の中の単純な 'copy'コマンドは、それを行います... – aschipfl