ツリーディレクトリ構造で5000個のCSVファイルを設定しました。 すべてのファイルが最初の行でエンコーディングを示しています。その後、一般的なCSVコンテンツが続きます。ディレクトリサブツリーの各テキストファイルから最初の行を抽出します
UTF-8
Key1,"Value 1",
Key2,"Value 2"
etc, etc...
は、どのように私はすぐに彼らのエンコーディングのセットを監督するために、各ファイルの最初の行を収集することができますか?
私はthis answerの助けを借りてこれをしようとしているが、部品は、単一のファイルに対して(個別に実行されている場合は、私がEcho is on.
for /R D:\resources\ %%f in (*.csv) do (
set /p line1=<%%f
echo %line1% >> out.txt
)
ようなものを取得していますので、私は明らかにバッチファイルの変数のすべての構文ニュアンスを理解していません)、 彼らが働きます。
私はまた、単一のライナー
for /R D:\resources\ %f in (*.csv) do set /p line1=<%f & echo %line1% >> out.txt
が、各ファイルの出力に最初のファイルから収集したこの1つのプット値をしようとしていました。
あなたが取得しているが、 'エコーon.'です'%line1%'は空に見えるからです。 *と同じコードブロックに変数を読み込んで[遅延拡張](http://ss64.com/nt/delayedexpansion.html)を有効にしてください。最後に 'echo'コマンドラインを' >> out.txt echo(!line1! '。 – aschipfl
@aschipfl - 助けました。答えとして追加しますか?私はそれを受け入れますか? – miroxlav