DOS-Batch-Datei, um nach Datum „neue“ Dateien zu finden

8

Mein PC ist in eine Endlos-BSOD-Schleife eingetreten - ich habe jedoch Zugriff auf eine Eingabeaufforderung im abgesicherten Modus.

Ich versuche eine Vorstellung davon zu bekommen, "was sich geändert hat", was dies ausgelöst haben könnte. zB habe ich vielleicht einen Virus bekommen oder ein App-Update ist kaputt gegangen.

Ich würde also gerne sehen, welche Dateien in den letzten Tagen / Woche erstellt / geändert wurden oder zumindest die * .exe, * .dll, * .com, * .bat usw.

Ich dachte, ich wäre mit meinem Batch-Fu in Ordnung, aber ich bin ratlos darüber, wie man eine schnelle Batch-Datei / einen schnellen Batch-Befehl schreibt, der die Dateien für mich auflistet.

REM This will find the files, but the results are all muddled
REM all EXE files, reverse sort by date, recursively through sub-directories

dir *.exe /O-D /S

Was ich wirklich möchte, ist, alle (ausführbaren Dateitypen) zu finden, die in den letzten 3-7 Tagen erstellt / geändert wurden.

Kann mich jemand in die richtige Richtung weisen?

Todd McArthur
quelle
Völlig getrennt von dem auszuführenden Befehl klingt es so, als ob jemand eine beschädigte Einstellung hat, keine zusätzliche ausführbare Datei (was Ihr Skript finden würde).
Soandos
@soandos - durchaus möglich, ich werde vermuten, dass etwas, das ich installiert oder aktualisiert habe ... die Änderung der Einstellungen ausgelöst hat. In jedem Fall denke ich, dass eine schnelle Batch-Datei für das obige Szenario immer noch ein sehr nützliches Werkzeug wäre.
Todd McArthur
@Todd, haben Sie versucht, von der letzten bekannten guten Konfiguration zu booten? windows.microsoft.com/en-US/windows7/… (das gleiche Konzept gilt für WinXP / 2003)
Robert Kerr
Warum analysieren Sie nicht den Speicherauszug aus dem BSOD?
ZippyV
@ ZippyV - Ich denke, ich könnte, aber ich habe keine Ahnung, wie das geht.
Todd McArthur

Antworten:

10

Dies ist ein einfacher, wenn auch umständlicher Weg, bei dem xcopy verwendet wird. Sie können sich xcopy /?die Schalter usw. ansehen .

xcopy \windows\*.exe /L /S /D:12-01-2000 .

Dieser Befehl gibt rekursiv eine Liste der .EXEDateien und Pfade im \windowsOrdner aus, die am oder nach dem 01.12.2000 geändert wurden, ohne sie tatsächlich zu kopieren. HINWEIS Am Ende des Befehls befindet sich ein Punkt. Mit einer kleinen Schrift ist es schwer zu sehen.

Bearbeiten 1: Ich habe das /Faus dem ursprünglichen Befehl herausgenommen, da es irrelevant war.

Bearbeiten 2: Sie können die Ausgabe auf " | more" leiten, wenn Sie möchten

Keltari
quelle
2
kurz bevor ich darauf springe ... welcher Teil ist der Teil, der sagt "nicht wirklich kopieren"? ... ist es die .zB Kopie an die ursprüngliche Position der Datei?
Todd McArthur
2
/ L nur Listen, keine Kopien
Keltari
@Todd McArthur do xcopy /? Mann
Barlop
1
xcopy ist ein großartiges, aber nicht ausreichend genutztes Tool in Windows. xxcopy, ein Programm von Drittanbietern, ist noch besser. xxcopy.com/xcpymain.htm
Keltari
1
Elegant. Vielen Dank. Ich habe die Ergebnisse in eine Datei mit weitergeleitet > results.txt. Hinweis: Wenn Sie den Befehl in dem Ordner ausführen, aus dem Sie stammen, müssen xcopySie den letzten .durch ein Dummy-Ziel ersetzen. Andernfalls wird eine Warnung zum zyklischen Kopieren angezeigt.
CAD Kerl