¿Puedo hacer que la etiqueta del Finder sea una carpeta si contiene un archivo o carpeta con un nombre específico?

3

Me encantaría que de alguna manera pudiera hacer que Finder etiquetara con color todas las carpetas que contienen un directorio .git, de modo que pudiera ver de un vistazo si la carpeta es un repositorio de Git. ¿Alguna idea?

    
pregunta bernk 02.07.2012 - 23:04

2 respuestas

2

Vio esta pregunta y me di cuenta de que la respuesta también me sería útil. Aquí está el Applescript que se me ocurrió. Cópielo en Applescript Editor, y ajuste las dos variables theSearchPath (primera línea) y el número de índice al final de la línea set label index y debería estar listo para comenzar.

Estoy buscando ~/projects y coloreando los resultados en verde en este caso.

set theSearchPath to "/Users/Me/projects"
set theResults to do shell script "find " & quoted form of theSearchPath & " -name .git"

repeat with i from 1 to (count paragraphs of theResults)
  set theResult to paragraph i of theResults
  set theParentPath to text 1 through ((length of theResult) - 5) of theResult
  set theParentAlias to POSIX file (theParentPath) as alias
  tell application "Finder"
    set label index of theParentAlias to 6
    -- Set the last value of the above line to correspond with the color you want.
    -- 0 is no color
    -- 1 is orange
    -- 2 is red
    -- 3 is yellow
    -- 4 is blue
    -- 5 is purple
    -- 6 is green
    -- 7 is gray
  end tell
end repeat

Nota: no se ha escrito para manejar con gracia los errores que se escupen con el comando find . Mientras esté buscando directorios en los que tenga permisos, esto no debería ser un problema.

    
respondido por el Vickash 04.07.2012 - 06:24
0

El script de Vickash no me funcionó, así que lo actualicé y lo modifiqué ligeramente para poder encontrar cualquier extensión de archivo especificando la extensión en la variable theFileExtension (en mi caso, archivos .flac). Funciona en Sierra.

set theSearchPath to "/Users/Me/projects"
set theFileExtension to ".flac"
set theResults to do shell script "find " & quoted form of theSearchPath & " -name *"&theFileExtension

repeat with i from 1 to (count paragraphs of theResults)
    set theResult to paragraph i of theResults
    set thePath to text 1 through ((length of theResult)) of theResult
    tell application "Finder"
        set theParentAlias to container of (POSIX file (thePath) as alias)
        set label index of theParentAlias to 1
        -- Set the last value of the above line to correspond with the color you want.
        -- 0 is no color
        -- 1 is orange
        -- 2 is red
        -- 3 is yellow
        -- 4 is blue
        -- 5 is purple
        -- 6 is green
        -- 7 is gray
    end tell
end repeat
    
respondido por el Michael Kupietz 29.04.2017 - 03:19

Lea otras preguntas en las etiquetas