入力ファイルを想定すると、「C:\ input_file.txt」で、確かに何が起こっているかを確認するには、このような何かを実行し、...
FOR /F "tokens=* delims=? usebackq" %%A IN ("C:\input_file.txt") DO echo %%A
FOR /F "tokens=* delims=? usebackq" %%A IN ("C:\input_file.txt") DO xcopy %%A
pause
あなたはこのかかわらを必要とする一日の終わりに...
FOR /F "tokens=* delims=? usebackq" %%A IN ("C:\input_file.txt") DO xcopy %%A
説明...
ドキュメントFor /Fループ上とxcopy
For /F
入力ファイルを1行ずつループします。各行ごとに、行を分割します。これらの部分は「トークン」と呼ばれます。デリミネーター(delims)と呼ばれるキャラクターによって、作品が認識されます。これは、各行の個々の部分で作業できるように行われます。しかし、あなたの場合は、ラインを分割する必要はありません。彼らはすでに引数としてフォーマットされています。ですから、 "?"のようなもっと不明瞭なファイルパス文字を使用してください。あなたのデリミネーターとして。それがそこにはないと賭けることができるので、あなたはあなたの全体の行を一つのトークンとして得るでしょう。
tokens = *を設定すると、すべてのトークンが取得されますが、トークンが1つだけの場合は、tokens=1
となります。
usebackq
おそらく入力ファイルパスの前後に引用符を使用してパス内のスペースを処理できるようにすることをお勧めします。
次に、あなたはちょうどあなたがEcho
またはxcopy
のようなコマンドを使用し、引数としてトークンを渡すことができますFor /F
のコマンド部分を持っています。すでに述べたように、テキストは複数の引数としてすでにフォーマットされているため、テキスト全体を単一のトークンとして渡すことができます。
また、あなたの作業システムはxcopyを使用するように設計されているようですので、それに固執するのが一番良いかもしれませんが、RoboCopy is a good alternativeです。
UNCパスは通常2つのスラッシュで始まります。ですから、ソースとデスティネーションで区切られたファイルを作成し、そのファイルを読むための 'FOR/F'コマンドを使うことができます。 XCOPYの代わりにROBOCOPYを使用することをお勧めします。 – Squashman
あなたはこれまでに何を試しましたか、どこに止まっていますか? – aschipfl