So zählen Sie alle Dateien im Verzeichnis, geben die Zeilenanzahl zurück, ändern das Dateidatum und die Zeichenfolge in der ersten Spalte der zweiten Zeile

So zählen Sie alle Dateien im Verzeichnis, geben die Zeilenanzahl zurück, ändern das Dateidatum und die Zeichenfolge in der ersten Spalte der zweiten Zeile

Ich habe ein Verzeichnis mit mehreren CSV-Dateien. Ich möchte die Zeilenanzahl für jede Datei, das Änderungsdatum jeder Datei und die Zeichenfolge in der ersten Spalte nach der Kopfzeile mithilfe von Batch-Skripten unter Windows 10 zurückgeben. Wie kann ich die Ausgabe in eine Textdatei vornehmen?

Beispiel

File 1: String 100 lines 1/12/2019
File 2: String 100 lines 1/10/2019
File 3: String 200 lines 1/12/2019

Antwort1

Ich werde das Skript nicht für Sie erstellen, aber ich gebe Ihnen die Methoden für das, was Sie wollen. Lassen Sie uns die Frage zunächst in zwei Teile aufteilen:

1.- Zeilenanzahl in Dir abrufen

for /f "usebackq tokens=1 delims=," %%a in ("you_file_path") do set /a count+=1

und um die erste Zeile nach der Kopfzeile zu erhalten, würden Sie das tun, aber mit einem Schleifenunterbruch

for /f "usebackq tokens=1 delims=," %%a in ("you_file_path") do (
    set /a count+=1 && if count==2 (first_row=%%a && goto next)
)
:next

2.- Änderungsdatum

for /f "tokens=1,2 delims= " %%a in (
    'dir "FullDirPath" ^| find /i "File_name"'
) do set ArchDate=%%a

Jetzt liegt es an Ihnen, dies zusammenzufügen und ein Skript zu erstellen. Sie müssen jede Datei mit dem obigen Code schleifen und am Ende jeder Schleife echo "%first_row%" "%archdate%" "%count%"oderecho "%first_row%" "%archdate%" "%count%" > file.txt

Sie können diese Methoden in testen, cmdaber um Variablen auf dem Terminal zu verwenden, müssen Sie ersetzen %%a. %aIn einem Batch-Skript ist dies %%adie richtige Syntax, aber auf dem Terminal %aist dies die richtige Syntax.

Prost.

verwandte Informationen