Ver el historial completo de deshacer de Windows Explorer

16

Antecedentes

El Explorador de Windows mantiene una lista de operaciones de archivos para que pueda deshacerlas (10 operaciones hasta XP y 32 desde Vista). Puede ver la última operación sin realizarla abriendo el menú Editar y resaltando el comando Deshacer sin seleccionarlo y mirando la barra de estado (aunque incluso así, a menudo no funciona y solo muestra una cadena en blanco en la barra de estado) .

Problema

Desafortunadamente, esto no solo muestra la operación en la barra de estado, que por defecto no está habilitada, sino que solo muestra la última operación. Peor aún, solo muestra la operación y el nombre del archivo , no la ruta (s).

Escenario de caso de uso

Un ejemplo de uso es que si usted está cambiando el nombre y mover un montón de archivos, especialmente archivos de manera similar como el nombre download1.png, download2.pngetc., entonces se da cuenta de que ha olvidado mover uno de los archivos después de cambiar el nombre de la misma. Ver la lista de los últimos nombres de archivo y rutas modificadas le permitiría descubrir cuál se perdió sin tener que deshacer todas las operaciones posteriores que podrían hacer un completo desastre.

Pregunta

¿Alguien sabe de una manera de obtener una lista de todas las operaciones que Windows ha almacenado en su búfer de deshacer? He visto un programa que puede conectarse a Windows y hacer cosas que no son compatibles, como reorganizar los iconos de la barra de tareas y la bandeja (XP no era compatible con eso), por lo que espero que alguien haya logrado hacer lo mismo con el búfer Deshacer.

Synetech
fuente
XP hace de soporte reordenación de posiciones de programa de barra de tareas - a través de una utilidad de terceros llamadataskbar shuffle
Costin Guşă
1
@ CostinGușă, en realidad, hubo varios programas que le permitieron reorganizar la barra de tareas y los iconos de la bandeja, pero como usted dijo, eran de terceros . Esto se debe a que Windows no admitió la acción (Microsoft hizo suposiciones sobre el comportamiento del usuario), por lo que tuvieron que aplicar ingeniería inversa a las funciones para encontrar una manera de hacerlo porque no había ganchos oficiales para permitir que sucediera (yo mismo una vez tuvo que aplicar ingeniería inversa a la entrada del registro que controla el comportamiento de visualización del icono de la bandeja para escribir un visor / editor para ello).
Synetech
En Windows 10, la barra de estado no muestra nada al resaltar Deshacer / Rehacer en el menú contextual de la carpeta. Molesto, la cinta no tiene ningún botón para esto. La solución alternativa es que debe agregar los botones Deshacer / Rehacer a la Barra de herramientas de acceso rápido (la pequeña barra de herramientas en la barra de título) y luego apuntar a cada uno de los botones para ver los detalles de su operación. (Por supuesto, aún no puede ver las rutas o el historial completo). PD: Algunas operaciones como rehacer una eliminación parece borrar todo el historial, así que tenga cuidado con eso.
ADTC

Respuestas:

6

Con suerte, obtengo correctamente lo que estás buscando. Si es así, parece haber un método WinAPI : ReadDirectoryChangesW que podría hacer lo que espera.

Sin embargo, no estoy seguro de si el siguiente enfoque funcionará con el historial de operaciones de archivos o solo mostrará los cambios realizados después del tiempo de uso, ya que este enfoque no es tan diferente y podría usarse en el escenario que proporcionó, mencionaré que incluso podría estar un poco fuera de tema:

Podría conectar el objeto FileSystemWatcher a una carpeta (aunque el tema del enlace es diferente, esta en mi humilde opinión ofrece una buena visión general del propósito de la clase). Lo sé, es la clase C # .NET, pero lo que es C # puede convertirse en PowerShell como se muestra por esta secuencia de comandos del Centro de secuencias de comandos de Microsoft.

Puede considerar soluciones de terceros, como el rastreador de Windows Explorer, que parece hacer lo mismo (creo que prefieren usar llamadas API (documentadas) que técnicas de ingeniería inversa, pero parecía un poco preocupado por ellas, así que solo busqué una )

Y por último, pero no menos importante, incluso podría considerar escribir una aplicación WPF simple basada en FileSystemWatcher o una aplicación WPF más compleja que llame al método ReadDirectoryChangesW .

Matt Stuvysant
fuente
Esta podría, muy bien, ser una de las respuestas más completas, nunca en superuser.com/ Gracias, por los enlaces y por su INCREÍBLE esfuerzo, ¡muy agradable! ¡Gracias! :))
Nostromov