Archivo por lotes de DOS para buscar archivos "nuevos" por fecha

8

Mi PC ha entrado en un bucle BSOD infinito, pero tengo acceso a un símbolo del sistema en modo seguro.

Estoy tratando de tener una idea de "lo que cambió" que podría haber desencadenado esto. por ejemplo, podría haber contraído un virus, o la actualización de una aplicación se arruinó.

Por lo tanto, me gustaría ver qué archivos se crearon / modificaron en los últimos días / semana o al menos * .exe, * .dll, * .com, * .bat, etc.

Pensé que estaba bien con mi Batch-fu, pero no sé cómo escribir un archivo / comando por lotes rápido que enumere los archivos para mí.

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

Lo que realmente me gustaría es encontrar todos los (tipos de archivo ejecutables) que se crearon / modificaron en los últimos 3-7 días.

¿Alguien puede señalarme en la dirección correcta?

Todd McArthur
fuente
Totalmente separado del comando para ejecutar, parece que hay una configuración corrupta para alguien, no un ejecutable adicional (que es lo que su script encontraría).
soandos
@soandos: es bastante posible, voy a adivinar que algo que instalé o actualicé ... es lo que provocó el cambio de configuración. De cualquier manera, creo que un archivo por lotes rápido para el escenario anterior aún sería una herramienta realmente útil.
Todd McArthur
@Todd, ¿ha intentado arrancar desde la última configuración válida conocida? windows.microsoft.com/en-US/windows7/… (el mismo concepto se aplica a WinXP / 2003)
Robert Kerr
¿Por qué no analizas el volcado de memoria del BSOD?
ZippyV
@ZippyV: supongo que podría, pero no tengo idea de cómo hacerlo.
Todd McArthur

Respuestas:

10

Esta es una manera simple, aunque indirecta, utilizando xcopy. puedes mirar xcopy /?para ver los interruptores, etc.

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

Este comando generará una lista de .EXEarchivos y rutas en la \windowscarpeta de forma recursiva, que se modificaron a partir del 12/1/2000, sin copiarlos realmente. NOTA: hay un punto al final del comando. Es difícil de ver con una fuente pequeña.

Edición 1: Saqué /Fel comando original, ya que era extraño.

Edición 2: puede canalizar la salida a " | more" si lo desea

Keltari
fuente
2
justo antes de saltar sobre esto ... ¿qué parte es la parte que dice "en realidad no copiar"? ... ¿es, .por ejemplo, copiar a la posición original de los archivos?
Todd McArthur
2
/ L solo enumera, no copias
Keltari
@Todd McArthur do xcopy /? hombre
barlop
1
xcopy es una herramienta excelente, pero subutilizada, en Windows. xxcopy, un programa de terceros es aún mejor. xxcopy.com/xcpymain.htm
Keltari
1
Elegante. Gracias. Canalicé los resultados a un archivo con > results.txt. Tenga en cuenta que si ejecuta el comando en la carpeta desde la que está xcopyutilizando, deberá reemplazar el último .con un objetivo ficticio o recibirá una advertencia sobre la copia cíclica.
CAD bloke