Batch-Datei zur Ausgabe des Dateinamens in eine CSV-Datei

  • Problem
  • Lösung
  • Hinweis

Problem

Ich möchte eine Windows-Batchdatei schreiben, die nach einer festen Datei in einem festen Ordner (z. B. c: folderfile1.csv) sucht, und den Befehl dir verwenden, um den Dateinamen und das zuletzt geschriebene Datum in einer zweiten CSV-Datei (z. B. c) auszugeben : folderfile2.csv). Die Ausgabe muss zweispaltig sein und sieht beim Öffnen von file2.csv ungefähr so ​​aus:

file1.csv 14.10.2008 15:38

Dies scheint ein ziemlich einfacher Stapel zu sein, aber ich habe Mühe, meine Ausgabe auf diese beiden Attribute zu beschränken und sie in die ersten beiden Spalten und die erste Zeile von file2.csv zu platzieren

Jede Hilfe wäre sehr dankbar. Vielen Dank!!!

Lösung

Das Skript, das Sie benötigen, lautet wie folgt:

____________________Begin Code__________________

 Dim Filepath Dim Filename Dim OutputFile Filepath = "c: test \" 'Bearbeiten, um den Dateipfad anzugeben Filename = "file1.csv"' Name der Datei, für die das Datum und die Uhrzeit der letzten Bearbeitung erforderlich sind OutputFile = "file2.csv" 'File to Ausgabeergebnisse setzen objFSO = CreateObject ("Scripting.FileSystemObject") Wenn nicht objFSO.FileExists (FilePath & OutputFile), dann setzen objFile = objFSO.CreateTextFile (Filepath & OutputFile) Wscript.sleep (2000) 'Pause, während die Datei erstellt wird Ende If If objFSO.FileExists (Dateipfad & Dateiname), dann Set objFile = objFSO.GetFile (Dateipfad & Dateiname) Lastmodifieddate = objFile.DateLastModified Const ForWriting = 2 Set outputFile = objFSO.OpenTextFile (Dateipfad & "file2.Writing") Datei zum Schreiben von OutputFile.Write Dateiname & ", " & objFile.DateLastModified 'Schreibe Dateinamen und Datum der letzten Änderung in die Ausgabedatei OutputFile.Close End If set objFSO = Nothing 

____________________End Code__________________

Die drei Variablen Dateipfad, Dateiname und Ausgabedatei, die in den Zeilen 5, 6 und 7 eingerichtet sind, können so geändert werden, dass sie jeden von Ihnen angegebenen Pfad und Dateinamen übernehmen und die Datei in Zeile 7 auf demselben Pfad erstellen.

Wenn Sie diesen Code als test.vbs-Datei speichern, müssen Sie in Ihrer Batch-Datei die Zeile "Call test.vbs" eingeben. Wenn Sie den Namen der vbs-Datei ändern, müssen Sie natürlich den Verweis auf diese Datei in Ihrer Batch-Datei ändern.

Hinweis

Danke an Swarve für diesen Tipp im Forum.

Vorherige Artikel Nächster Artikel

Top-Tipps