¿Hay una manera de "devolver" todo automáticamente a la Papelera?

15

Mi esposa vio la carpeta "todos los documentos" en el Finder y decidió mover todo a la basura.

Ahora tenemos más de 9,000 archivos en la papelera y no he podido encontrar una manera de devolver todo con un solo clic.

Por alguna razón, solo me permitirá "devolver" un archivo a la vez.

¿Hay alguna forma de automatizar esto?

    
pregunta novicePrgrmr 25.01.2012 - 03:13

8 respuestas

10

Si "Volver" está deshabilitado para una selección de varios elementos, significa que (al menos) uno de los elementos seleccionados no tiene su información de ubicación original almacenada en el archivo .DS_Store del directorio de la Papelera.

Aunque no es lo ideal, intente seleccionar múltiples subconjuntos de los archivos en busca de grupos que pueda "Devolver" en masa antes de recurrir a la presentación manual de los archivos restantes.

    
respondido por el jaberg 25.01.2012 - 04:08
4

Intente ejecutar una secuencia de comandos como esta en el Editor de AppleScript:

repeat
    tell application "Finder"
        close windows
        if items of trash is {} then return
        open trash
        activate
    end tell
    tell application "System Events"
        key code 125 -- down arrow
        key code 51 using command down -- command-delete
    end tell
end repeat

Si Finder muestra un cuadro de diálogo de contraseña cuando intenta volver a colocar algún elemento, intente agregar algo como esto al final del bloque tell application "System Events" :

delay 1
if exists window 1 of process "SecurityAgent" then
    tell window 1 of process "SecurityAgent"
        set value of text field 2 of scroll area 1 of group 1 to "pa55word"
        click button 2 of group 2
    end tell
end if
delay 1
    
respondido por el user495470 05.09.2013 - 13:22
4

Un AppleScript que "Ponga [s] todos los elementos en la Papelera" funcionó para mí:

Abra "AppleScript Editor" y copie / pegue las líneas a continuación, luego ejecute el script tantas veces como sea necesario.

tell application "System Events"
    tell process "Finder"
        repeat 100 times
            tell application "Finder" to open trash
            tell application "Finder" to activate
            key code 126
            key down command
            key code 51
            key up command
            delay 0.2 -- adjust delay as needed
        end repeat
    end tell
end tell
tell application "Finder" to close every window
    
respondido por el Thierry Koblentz 30.12.2013 - 12:53
1

debería poder resaltar cada archivo o al menos hacerlo en lotes incrementales, cópielos y péguelos nuevamente, creo. Acabo de probarlo y si hace doble clic en su papelera, haga clic con el botón derecho en los archivos que desea restaurar. Hay una opción de "volver a poner" que solo funciona archivo por archivo, como dije, y luego presione Cc (comando c) para copiar. luego Cv (comando v) para volver a pegarlos.

    
respondido por el Gmenfan83 25.01.2012 - 03:22
1

Esto me funcionó:

  • Crear una nueva carpeta en el Finder, llamé "archivos recuperados" míos
  • Abra la carpeta Papelera y seleccione un grupo de archivos
  • Copie los archivos y péguelos en la carpeta "archivos recuperados".

Si necesita volver a colocar una carpeta grande o una gran cantidad de archivos individuales, use esta técnica. Si solo necesita 1 o 2 archivos, simplemente use la función "volver".

    
respondido por el Marcy Freeman 17.04.2013 - 16:52
1

Antes de Snow Leopard, OS X no tiene la capacidad nativa de restaurar archivos a sus ubicaciones originales de las que fueron eliminados (como puede hacerse de forma nativa en un entorno de Windows con la opción "Restaurar" en el menú contextual para Reciclar Compartimiento). Accidentalmente hice lo mismo que hizo su esposa en un momento en el que se eliminaron más de 10,000 archivos.

Después de explorar todas mis opciones, realicé una restauración del sistema a través de Time Machine. Fue, con mucho, el método más conveniente para obtener dichos archivos en sus ubicaciones correctas.

    
respondido por el Mort 15.10.2012 - 20:49
1

Arrastra todos los archivos de la Papelera a la pestaña Todos mis archivos en el Finder. Tomará un tiempo si tienes muchos archivos. Probamos en más de 10000 archivos. El buscador restaurará todos los archivos a su ubicación original.

    
respondido por el Jacob Cereteli 05.04.2016 - 17:21
0

Basado en una solución cercana que @thierry ya dio aquí desde Giacomo Balli , creamos este solution para ayudar a varios de ustedes, ya que el problema sigue existiendo. Cuando elimine un archivo en MacOS , sus ubicaciones originales son almacenado en los archivos ocultos .DsStore en caso de que desee restaurarlo. Las versiones recientes de macOS tienen la capacidad de colocar las cosas en la Papelera de vuelta de donde provienen, divididas a la ligera, y son mucho más rápidas que arrastrar y soltar. Entonces, como sabes, si haces clic en el ícono de la papelera en tu Dock, verás los elementos que tienes, bueno, destrozados. Haga clic con el botón derecho o presione Control sobre cualquier archivo (o mantenga presionada la tecla Comando para hacer clic y seleccionar varios elementos, luego presione Control y haga clic), y verá la opción Restaurar. El único problema es que nos permite hacerlo solo para un artículo en ese momento.

Solución

  1. Comience por clonar el repositorio en su máquina local para que pueda comenzar a utilizar nuestra solución;

    clon de git [email protected]: opprDev / trash-back.git

    cd trash-back

  2. Ejecute la AppleScript en esa computadora, a través de comando osascript;

    scripts de osascript / trash-back.scpt

Conclusiones

Ejecutar AppleScript incrementa en gran medida lo que puede hacer de forma remota desde la línea de comandos, y permite una gran cantidad de trucos geniales que son difíciles de hacer de otra manera. Si bien puede ejecutar secuencias de comandos completas en la línea de comandos, esta forma de ejecución solo consiste en ejecutar, también puede iniciar sesión en una computadora remota (mediante ssh) y ejecutar AppleScript en esa computadora, a través del comando osascript . El comando osascript también puede ejecutar cualquier otro Open Scripting Architecture idioma usando el modificador -l.

    
respondido por el Francisco Maria Calisto 28.01.2018 - 23:46

Lea otras preguntas en las etiquetas