1

20,000 以上の画像を含むフォルダーからコピーする必要がある 4000 の .tif 画像のリストがあります。

私の問題をグーグルで見つけたコードを使用して、コマンドプロンプトを使用しようとしています。

コードは次のとおりです。

for /f %a in H:\list.txt do copy %a H:\new

"H:\list.txt" is my list file
"H:\new" is where i want my files to be copied to

.tif ファイルを含むファイル フォルダーでこのコマンドを実行していますH:\Doc2

H:\list.txt は、現時点では想定外でした。

問題の原因は何ですか? リストが正しく設定されていませんか?

次のようになります。

ABBA.TIF
ABBD.TIF
ABBQ.TIF

ファイル名の後にコンマまたはコロンが必要ですか?

4

2 に答える 2

2

H:\list.txtはリテラルで、ファイルの各行をループします。これをチェックしてください:

Windowsバッチファイルを使用して、テキストファイルの各行をどのようにループしますか?

for /F "tokens=*" %%A in (myfile.txt) do [process] %%A

提案: これにも「windows」のタグを付けてください。

于 2012-12-19T18:25:21.520 に答える
2

Amir が差し迫った問題を診断しました - あなたのコードには IN 句を囲む括弧がありません。

しかし、別の潜在的な問題があります。リストには、スペースやその他の特殊文字を含むファイル名やパスが含まれる場合があります。その場合は、名前を引用する必要があります。

リスト内の値は、すでに引用されている場合もあれば、引用されていない場合もあります。~修飾子を使用して、存在するかどうかに関係なく既存の囲み引用符を削除してから、独自の引用符を明示的に追加できます。

for /f %a in (H:\list.txt) do copy "%~a" H:\new

この行をバッチ ファイルに含める場合は、それぞれ%を 2 倍にする必要があります%%

于 2012-12-19T19:01:25.313 に答える