1 votos

El buscador oculta un archivo específico por su nombre

En algún momento el Finder de mi MBA 10.8 decidió (o fui yo) ocultarme ciertos archivos.

Este es el ejemplo (tengo algunos otros archivos como este)

.. El caballo de agua.flv

File name

Originalmente esos archivos se descargan de la web en Firefox usando el complemento llamado Ant.com.

Todavía puedo ver los archivos en el reproductor VLC, o en el OminDiskSweeper.

También puedo ver los archivos usando la opción de mostrar archivos ocultos en el Terminal.

defaults write com.apple.finder AppleShowAllFiles TRUE && killall Finder

Antes no era así, pero algo cambió, o yo cambié sin saberlo.

Mi investigación demostró que tiene que ver con el comienzo del nombre del archivo (.. ) que ya no es rayado por el programa de descarga.

Si quito el principio del nombre del archivo vuelve a la normalidad, pero desgraciadamente los archivos se llaman así originalmente en la web.

Así que intenté el proceso de inversión añadiendo el punto delante y me dice que no debo hacerlo. Cómo le digo a mi sistema operativo que muestre esos archivos en el Finder con ese nombre o cómo quito el comienzo del nombre del archivo durante o después del proceso de descarga, o estoy atascado con el mostrar todos los archivos ocultos.

Using the dot at beginning of file name

¿Hay alguna forma de cambiar el nombre del archivo antes, durante o después de la descarga, para no tener que usar el Terminal cada vez para desocultar todos los archivos y luego volver a ocultarlos?

4voto

moodforaday Puntos 2633

Cualquier archivo o carpeta que empiece por '.' va a estar oculto en el Finder. Esto siempre ha sido así, desde los tiempos de NeXTStep.

Si lo que está tratando de hacer es renombrar automáticamente los archivos que comienzan con un '.' para que no comiencen con un '.' eso se puede lograr fácilmente con un shell script. Guarde lo siguiente como /usr/local/bin/rename-dot-files.sh :

#!/bin/zsh -f

DIR="$HOME/Downloads/"

cd "$DIR"

ls -1Ad \.* | egrep -v '.DS_Store|.localized' | while read line
do

        NEWNAME=$(echo "$line" | sed 's#^\.##g')

        /bin/mv -vn "$line" "$NEWNAME"

done

exit 0

Ese script buscará en $HOME/Downloads/ para cualquier archivo que empiece por . (excluyendo .DS_Store y .localized que no quiere renombrar) y lo renombrará con el mismo nombre, sin el '.' siempre que no haya otro archivo/carpeta con ese mismo nombre.

Para hacerlo de forma automática tendrá que crear un launchd plist que se lanzará automáticamente cada vez que el directorio cambie:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Disabled</key>
    <false/>
    <key>Label</key>
    <string>com.tjluoma.rename-dot-files</string>
    <key>Program</key>
    <string>/usr/local/bin/rename-dot-files.sh</string>
    <key>RunAtLoad</key>
    <true/>
    <key>WatchPaths</key>
    <array>
        <string>/Users/luomat/Downloads/</string>
    </array>
</dict>
</plist>

Obviamente querrás cambiar la ruta de /Users/luomat/ a cualquiera que sea su $HOME.

Guarde ese plist en ~/Library/LaunchAgents/com.tjluoma.rename-dot-files.plist y luego cargarlo como:

launchctl load ~/Library/LaunchAgents/com.tjluoma.rename-dot-files.plist

El script se ejecutará siempre que se modifique el ~/Downloads/, lo que incluye cualquier archivo que se añada o elimine, pero se limita automáticamente a los archivos que empiezan por '.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X