Tasto di scelta rapida per mostrare file e cartelle nascosti nella finestra di dialogo Apri file?

249

Questa domanda è molto simile a È possibile mostrare sempre hidden / dotfiles nelle finestre di dialogo Apri / Salva? . Come mostrare file e cartelle nascosti nel Finder? è anche correlato. Tuttavia, io non voglio mostrarli sempre, ed è ciò che defaults write ... AppleShowAllFiles ... fa.

Piuttosto, voglio accenderlo quando necessario. Sto tentando di aprire .bash_profile , quindi ora ne ho bisogno:

LinuxeGnomecipermettonodiCTRL+Hperalternaretramostrareenascondereifilenascosti.MaitastidisceltarapidadiGnomenonfunzionanosuOSX(cheèprevisto).

Percompletezza,.bash_profileesistenelladirectoryhome:

$ls~/.bash_profile/Users/jww/.bash_profile

Unadomandacorrelata...Comesipuòvederesopra,digitandoilnomedelfileinFinder(oèSpotlight)laricercanonhafunzionato.HoprovatoafareclicdestroperottenereunmenudisceltarapidanellafinestradidialogoAprifilenellasperanzadiselezionareunacasellacome"mostra tutti i file". E ho provato il menu Visualizza alla ricerca di "mostra tutti i file" con la finestra di dialogo Apri file aperta.

Perché questo è nascosto da qualche parte? Quale scopo serve a non consentire a un utente di aprire facilmente un file?

    
posta jww 09.05.2015 - 11:54
fonte

3 risposte

432

⌘ CMD + ⇧ SHIFT + . rivela i file nascosti nel Finder e le finestre di dialogo Apri / Salva.

Puoi anche premere ⌘ CMD + ⇧ SHIFT + G e digitare il percorso della cartella nascosta, proprio come in Terminal (< anche kbd> ⇥ TAB completamento automatico).

La modifica di file nascosti può essere pericolosa se non sai cosa stai facendo.

    
risposta data 09.05.2015 - 12:12
fonte
24

Mateusz Szlosek ha coperto la prima parte. Di seguito è riportato come ho gestito la seconda parte per mio uso.

Nella fretta di pubblicare la mia risposta, non mi ero reso conto che la seconda parte aveva già ricevuto risposta. Vedi Come impostare ⌘ + H per abilitare la visualizzazione dei file nascosti . Quello che offro di seguito differisce da una finestra di dialogo che ti informa dello stato corrente.

Ho creato un servizio utilizzando l'applicazione Automator. Quando voglio attivare la visualizzazione dei file nascosti, seleziono "Attiva i file nascosti" dal sottomenu dei servizi del Finder come mostrato di seguito. (Suggerimento: clicca sull'immagine per una vista migliore.)

Ciòcauseràl'apparizionedientrambiipopquisotto.

Ipassaggipercreareilserviziosonoriportatidiseguito.

  1. ApriAutomator,selezionaunnuovodocumentoditipoServizio.
  2. Trascinal'azione"Esegui Shell Script" nel riquadro del flusso di lavoro.
  3. Modifica il contiene per apparire come mostrato di seguito. (Suggerimento: clicca sull'immagine per una vista migliore.)

    Iltestoperloscriptèripetutodiseguito.

    STATUS='defaultsreadcom.apple.finderAppleShowAllFiles2>/dev/null'if["$STATUS" == TRUE ]; then
        STATUS='osascript -e 'tell app "Finder" to display alert "Finder is showing hidden files." buttons {"Cancel", "Hide"}''
    else
        STATUS='osascript -e 'tell app "Finder" to display alert "Finder is not showing hidden files." buttons {"Cancel", "Show"}''
    fi
    if [ "$STATUS" == "button returned:Show" ]; then
        defaults write com.apple.finder AppleShowAllFiles TRUE
        killall Finder
    elif [ "$STATUS" == "button returned:Hide" ]; then
        defaults write com.apple.finder AppleShowAllFiles FALSE
        killall Finder
    fi
    
  4. Salva (o sposta) il file Toggle Hidden Files.workflow nel file % cartella~/Library/Services.
  5. Potrebbe essere necessario riavviare l'applicazione Finder in ordine per il servizio per apparire in un menu.

Aggiornamento 1

Partendo dalla risposta di Mateusz Szlosek, vedo che la scorciatoia da tastiera ⌘ CMD + ⇧ SHIFT + . potrebbe essere aggiunta per il mio servizio. Vai a Preferenze di Sistema e fai clic sull'icona della tastiera. Seleziona "Servizi" quindi "Attiva i file nascosti" sotto l'intestazione "Generale". Sostituisci "none" con la scorciatoia da tastiera ⌘ CMD + ⇧ SHIFT + . .

    
risposta data 09.05.2015 - 14:29
fonte
2

DISCLAIMER / WARNING

I file nascosti sono nascosti per una ragione in genere. Usa lo script qui sotto solo se sei ragionevolmente sicuro di sapere cosa stai facendo. In altre parole: se interrompi il sistema eliminando casualmente i file nascosti, è colpa tua.

Ecco lo script che uso per attivare / non mostrare i file nascosti all'interno di Finder .

(Il collegamento nativo OSX per attivare i file nascosti in Apri / Salva i dialoghi è stato menzionato già da Mateusz Szlosek sopra)

La differenza tra il mio script e altri che ho visto finora:

La maggior parte degli script non fa altro dopo aver ucciso Finder. Di solito, questo significa che devi tornare alla cartella in cui ti trovavi originariamente, dal momento che il riavvio automatico del Finder non apre in modo affidabile la tua ultima cartella attiva.

Lo script seguente invece riapre e focalizza l'ultima cartella attiva, ovvero la cartella in cui ti trovavi quando usi l'interruttore, ma ora mostra (o non mostra) i file nascosti.

Ho assegnato una scorciatoia ad esso (cmd + shift +.) e ora trovo che lavorare con i file nascosti in Finder sia molto più conveniente.

Ringraziamo Tetsujin che ha pubblicato uno script su questo sito qualche tempo fa che ho adattato per aggiungere la funzionalità 'riaprire l'ultima cartella'.

on run {input, parameters}
    tell application "Finder"
        set var1 to POSIX path of (target of window 1 as alias)
    end tell
    set newHiddenVisiblesState to "YES"
    set oldHiddenVisiblesState to do shell script "defaults read com.apple.finder AppleShowAllFiles"
    if oldHiddenVisiblesState is in {"1", "YES"} then
        set newHiddenVisiblesState to "NO"
    end if
    do shell script "defaults write com.apple.finder AppleShowAllFiles " & newHiddenVisiblesState
    ---- Sleep hack mentioned below. 0.5s minimum, 1-2s safer. Ugly, but (probably) unavoidable.
    do shell script "killall Finder; sleep 0.5s"
    tell application "Finder"
        ---- Close other windows if Finder managed to relaunch already
        if application "Finder" is running then
            close every window
        end if
        open (var1 as POSIX file)
        activate
    end tell
end run

Per usare lo script: apri un nuovo flusso di lavoro in Automator, trascina in "Esegui AppleScript", copia e incolla il codice sopra, e salva all'interno della cartella dei servizi (in genere, ~ / Libreria / Servizi /, afaik).

Allegare un collegamento per eseguire uno script dovrebbe essere coperto da qualche altra parte su questo sito. Ho limitato l'ambito del mio collegamento a Finder da solo.

Commento sullo stile:

Devo ricorrere a un brutto attacco, usando 'sleep' dopo aver ucciso Finder, prima di aprire manualmente la cartella originale.

Se non imposto questo ritardo, c'è una possibilità che OSX abbia riavviato il Finder e abbia aperto una cartella (non necessariamente l'ultima attiva, nella mia esperienza). Insieme al mio comando "aperto", questo può portare al brutto effetto di due (non calcolabili, anche) processi del Finder in esecuzione e Finder che non funziona più affatto. Se ciò accade, disconnettersi e tornare indietro lo risolve, ma è ovviamente una perdita di tempo, quindi uso 'sleep'.

Un valore di sonno di 0,5 s funziona per me, ma per essere al sicuro, puoi aumentarlo leggermente (aggiungendo un ritardo più evidente al processo).

Se qualcuno è a conoscenza di un modo per sopprimere il riavvio del Finder e l'apertura inaffidabile di alcune finestre dopo l'invio del segnale killall - o un altro modo per sbarazzarsi dell'hack del sonno - sarei felice di sentire esso!

    
risposta data 23.07.2016 - 02:43
fonte

Leggi altre domande sui tag