Ich habe 5000 CSV-Dateien in Baumverzeichnisstruktur festgelegt. Jede Datei war die erste Zeile, die die Übergabe anzeigte, dann folgte der typische CSV-Inhalt.Extrahiere die erste Zeile aus jeder Textdatei im Verzeichnis Teilbaum
Wie kann ich schnell die erste Zeile aus jeder Datei sammeln, um den Satz ihrer Kodierungen zu überwachen?
Ich versuche, dies mit Hilfe von this answer aber ich verstehe nicht eindeutig alle Syntax Nuancen der Batch-Datei Variablen so dass ich Sachen bin immer wie Echo is on.
for /R D:\resources\ %%f in (*.csv) do (
set /p line1=<%%f
echo %line1% >> out.txt
)
Wenn Teile einzeln ausgeführt werden (für einzelne Datei), Sie arbeiten.
Ich war auch Single-Liner
for /R D:\resources\ %f in (*.csv) do set /p line1=<%f & echo %line1% >> out.txt
aber diesen einen Put-Wert versuchen, aus der ersten Datei in Ausgabe von jeder Datei gesammelt.
Sie erhalten 'Echo ist on.' weil '% line1%' leer erscheint. Aktivieren Sie [verzögerte Erweiterung] (http://ss64.com/nt/delayedexpansion.html), während Sie * schreiben und * die Variable im selben Codeblock lesen. Schließlich, ändern Sie Ihre 'echo' Befehlszeile zu' >> out.txt echo (! Line1! '. – aschipfl
@ aschipl - das half. Möchten Sie es als Antwort hinzufügen? Ich werde es akzeptieren. – miroxlav