
Ich habe eine Batchdatei erstellt, die in eine reine Textdatei umleitet. Die Batchdatei geht zum angegebenen Pfad, dort wird der Dir-Befehl ausgeführt und die Ausgabe wird in eine Textdatei umgeleitet.
Wenn ich jetzt die Textdatei öffne, sehe ich den gesamten Baum, aber ich möchte nur einen Ordner, der zuletzt geändert wurde.
Kann mir also jemand den Befehl sagen, den ich eingeben muss, damit nur dieser Ordner ausgewählt und in meine Textdatei gedruckt wird?
Unten ist der Inhalt meiner Batchdatei:
S:
cd S:\log\logit-esb\dhl\subscriptions
dir >> D:\Abhi_Work\System_Monitoring\System_monitoring.txt
Wenn ich die folgende Batchdatei ausführe, wird die Ausgabe an meine Textdatei weitergeleitet.
Directory of S:\log\logit-esb\dhl\subscriptions
05/01/2015 04:25 PM <DIR> .
05/01/2015 04:25 PM <DIR> ..
05/01/2015 04:25 PM <DIR> processed
0 File(s) 0 bytes
3 Dir(s) 4,682,932,224 bytes free
Volume in drive S is System
Volume Serial Number is 42A7-D3B7
Meine Anforderung ist, dass in der Ausgabedatei nur die folgende Zeile angezeigt werden soll
05/01/2015 04:25 PM <DIR> processed
Also, kann mir jemand dabei helfen, dies zu erreichen?
Antwort1
Der folgende Befehl in Ihrer Batchdatei führt das gewünschte Ergebnis aus:
dir | findstr "processed" >> D:\Abhi_Work\System_Monitoring\System_monitoring.txt
Sie sollten zunächst sicherstellen, System_monitoring.txt
dass es sich um eine leere Datei handelt, da Folgendes >>
an die Datei angehängt wird ...
QuelleSuche nach Zeichenfolgen in Dateien.
Piping und Umleitung
Eine Textdatei kann an FINDSTR weitergeleitet oder umgeleitet werden:
Datenstrom aus einer Pipe TYPE file.txt | FINDSTR "searchString"
Stdin über Umleitung FINDSTR "searchString"
Die verschiedenen Datenquellenspezifikationen schließen sich gegenseitig aus - FINDSTR kann nur mit einem der folgenden Argumente arbeiten: Dateinamenargument(e), /F:Dateioption, umgeleitete Eingabe oderweitergeleitete Eingabe.
Antwort2
Dies ist Powershell, das in Windows 7 enthalten ist und den zuletzt geänderten Ordner in einem Pfad anzeigt.
get-childitem -path c: | sort-object LastWriteTime -descending | select -first 1 | format-table -hidetableheaders