¿Cómo determinar la ubicación original del archivo que está actualmente en la Papelera?

40

Supongamos que algún archivo "Any File.pdf" está en la Papelera (también conocido como ~/.Trash).

¿Cómo puedo determinar su ubicación original?

Por "ubicación original" me refiero a la carpeta a la que se movería ese archivo si se aplicara el comando "Volver a colocar" (pero sin hacerlo realmente). (Ver figura a continuación).

(Esperaba que esta información estuviera disponible al ejecutar "Obtener información" en el archivo, pero no la encontré allí).

Volver

kjo
fuente
3
Como se mencionó aquí (último comentario), esta información parece estar almacenada en el archivo .DS_Store en la carpeta de la papelera
iolsmit
77
Relacionado: superuser.com/questions/59376/…
Ian C.
Ver soultion aquí discussions.apple.com/thread/5767821?tstart=0 pero no funciona si se ha eliminado la carpeta que encierra!
Pacerier

Respuestas:

8

Los datos que contienen la ubicación original de un archivo antes de colocarse en la Papelera se guardan en el archivo .DS_Store en la carpeta ~ / .Trash .

Como la carpeta de la papelera está oculta, normalmente no se puede encontrar utilizando la aplicación de búsqueda. La forma más fácil de encontrar este archivo es usar la Terminal e ingresar los siguientes comandos.

$cd ~/.Trash
$open -e .DS_Store

Esto abrirá el archivo en TextEdit. Desde allí, debería poder buscar rápidamente el archivo por su nombre y su ruta original.

Parece que los archivos en .DS_Store siguen el patrón de:

FILE_NAME ptbLustr ORIGINAL_PATH_TO_FILE

Los espacios de notas se agregan solo para facilitar la lectura.

David
fuente
2
¿Realmente probaste eso? .DS_Store contiene muchos datos binarios, no encontré ningún nombre de archivo.
nohillside
1
Probé esto en mi propia máquina antes de publicar. Encontré referencias a archivos en mi Papelera y sus ubicaciones originales.
David
1
Ah, parece depender de la configuración del idioma, todo es Unicode aquí.
nohillside
77
Creo que esta respuesta solo funciona para OS X alrededor de 10.4 o 10.5 ya que .DS_Store ahora es un archivo binario y no está documentado por Apple .
bmike
Todavía funciona aquí en OS X 10.7.5.
Dictionarics Anonymous
1

La información sobre la ubicación original se almacena en el archivo DS_Store . En versiones anteriores de OS X , se almacenaba en texto plano y ahora en formato binario. Apple no documenta estos formatos, sin embargo, existe una herramienta creada por Wim L que puede leerlo.

La herramienta está escrita en Perl, el Mac::Finder::DSStoreproyecto proporciona rutinas para leer y escribir los .DS_Storearchivos generados por macOS.

Según la confirmación inicial , la herramienta anterior se basa en el trabajo de Mark Mitrovai más la investigación del propio autor.

El uso examples/dsstore_dump.plintentaría volcar los registros de un archivo de tienda en un formato más legible para los humanos.

Ejemplo de uso:

$ perl dsstore_dump.pl ~/.Trash/.DS_Store

    &makeEntries("foo.png",
        ptbL => "Users/username/Desktop/",
        ptbN => "foo.png"
    ),

Consulte: dsstore repo en hhhh.org y versiones anteriores en GitHub .

kenorb
fuente
0

Hay una excelente redacción y algunas soluciones más fáciles publicadas en http://ponderthebits.com/2017/01/mac-dumpster-diving-identifying-deleted-file-references-in-the-trash-ds_store-files-part- 1 /

Incluyendo este Terminal one-liner para convertir un .DS_Storearchivo a (principalmente) texto:

xxd -p <path/to/.DS_Store> | sed 's/00//g' | tr -d '\n' | sed 's/\([0-9A-F]\{2\}\)/0x\1 /g' | xxd -r -p | strings | sed 's/ptb[LN]ustr//g'
Dan
fuente
En lugar de duplicar una respuesta anterior , tal vez podría expandir el comando para devolver específicamente la ubicación Put Back, ¿qué sería más útil para esta pregunta individualmente?
grg
Estoy "duplicando" mi propia respuesta, que publiqué en 3 hilos relevantes que no proporcionaron ninguna solución que funcionó para mí. Solo intentaba salvar a otras personas la hora de búsqueda que tenía que hacer. Lo siento si estoy haciendo esto mal.
Dan
Entiendo eso y no estás haciendo nada malo, solo pensé que podría ser útil adaptar esto a algo más específico para la pregunta en particular. Además, al proporcionar el enlace en mi comentario anterior, la otra pregunta ahora se muestra en la lista de preguntas vinculadas a la derecha que podría ser útil para otros.
grg
-3

'Volver a colocar' el archivo, use la función de búsqueda para buscar el archivo. Cuando encuentre su archivo, haga clic con el botón derecho y seleccione "Abrir carpeta de cierre"


fuente
2
¿Qué sucede si el mismo nombre de archivo aparece más de una vez en el sistema de archivos? Este enfoque fallará en ese caso. Es mejor leer los metadatos que OS X está leyendo para determinar la ubicación 'Volver a poner' en primer lugar.
Ian C.
@IanC., Pero esta opción de nebulosa parece ser la única opción ahora que dsstore es binario
Pacerier
Fuzzytruth quiero decir ...
Pacerier