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


262

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

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

inserisci qui la descrizione dell'immagine

Linux e Gnome ci consentono di CTRL+ Hper alternare tra mostrare e nascondere i file nascosti. Ma i tasti di scelta rapida di Gnome non funzionano su OS X (che è previsto).

Per completezza, .bash_profileesiste nella directory home:

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

Una domanda correlata ... Come si può vedere sopra, digitando il nome file nella ricerca Finder (o Spotlight) non ha funzionato. Ho provato a fare clic destro per ottenere un menu di scelta rapida nella finestra di dialogo Apri file nella speranza di selezionare una casella come "mostra tutti i file". E ho provato il menu Visualizza cercando un "mostra tutti i file" con la finestra di dialogo Apri file aperta.

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

Risposte:


452

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

Se stai usando una tastiera AZERTY, dovrai anche premere fn, quindi ⇧ SHIFTviene preso in considerazione poiché ne hai già bisogno per creare ..


Puoi anche premere ⌘ CMD+ ⇧ SHIFT+ Ge digitare il percorso della cartella nascosta, proprio come in Terminale ( ⇥ TABfunziona anche il completamento automatico).

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


7
Funziona per me nella vista Colonna se cambio percorso - vai su un'altra unità e viceversa, ecc. - o cambio vista, su icona e indietro.
Tetsujin,

10
La scorciatoia da tastiera "cmd + maiusc +." sembra funzionare su una scala più ampia in Finder in Sierra (non solo nelle finestre di dialogo Apri / Salva), anche in diverse viste.
Niall,

4
Wow, non posso credere che ci sia una scorciatoia per questo, quanto stranamente specifico. Grazie!
Ezechiele Vittorio,

1
@MateuszSzlosek, Non sembra funzionare per me. cmdshiftG non può selezionare il file nascosto, a meno che non esegua prima un cmdshiftdot. Funziona per te?
Pacerier,

2
Ah capisco cosa intendi. Quindi Sì, CMD + MAIUSC + G non selezionerà il file nascosto a meno che non vengano rivelati utilizzando CMD + MAIUSC +. Ma puoi ancora navigare verso le cartelle nascoste usando CMD + MAIUSC + G senza rivelarle. Buon punto!
Mateusz Szlosek,

23

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

Nella fretta di pubblicare la mia risposta, non mi sono reso conto che la seconda parte ha già ricevuto risposta. Vedi Come impostare ⌘ + H per abilitare mostra file nascosti . Ciò che offro di seguito differisce da una finestra di dialogo che informa sullo stato corrente.

Ho creato un servizio utilizzando l'applicazione Automator. Quando desidero attivare / disattivare la visualizzazione di file nascosti, seleziono "Attiva / disattiva file nascosti" dal sottomenu Servizi di ricerca come mostrato di seguito. (Suggerimento: fare clic sull'immagine per una visione migliore.)

Ciò farà apparire uno dei pop mostrati di seguito.

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Di seguito sono riportati i passaggi per creare il servizio.

  1. Aprire Automator, selezionare un nuovo documento di tipo Servizio.
  2. Trascina l'azione "Esegui script shell" nel riquadro del flusso di lavoro.
  3. Modifica i contenuti per apparire come mostrato di seguito. (Suggerimento: fare clic sull'immagine per una visione migliore.)

    Il testo per lo script è ripetuto di seguito.

    STATUS=`defaults read com.apple.finder AppleShowAllFiles 2>/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 Toggle Hidden Files.workflowfile nella ~/Library/Servicescartella.
  5. Potrebbe essere necessario riavviare l'applicazione Finder affinché il servizio appaia in un menu.

Aggiornamento 1

Sulla base della 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 Tastiera. Seleziona "Servizi", quindi "Attiva / disattiva file nascosti" sotto l'intestazione "Generale". Sostituisci "nessuno" con la scorciatoia da tastiera ⌘ CMD+ ⇧ SHIFT+ ..


Ho fatto esattamente come hai detto (c'è un file detto nella mia cartella ~ / Library / Services), ma inutilmente anche dopo aver riavviato il computer.
Walter,

@Walter: ho aggiunto Toggle Hidden Files.workflowa Sourceforge.net. Vedi il sito: Attiva / Disattiva file nascosti . È possibile scaricare il flusso di lavoro da lì. Le istruzioni per l'installazione sono anche mostrate su questo sito.
David Anderson,

Perché cambiare la scorciatoia da tastiera integrata, che funziona nelle finestre di dialogo File, in un servizio, che non funziona e che chiude il Finder? (La chiusura del Finder può causare la chiusura della finestra del Finder in primo piano.)
benwiggy

3

NEGAZIONE / ATTENZIONE

I file nascosti sono generalmente nascosti per un motivo. Usa lo script qui sotto solo se sei abbastanza sicuro di sapere cosa stai facendo. In altre parole: se si rompe il sistema eliminando casualmente i file nascosti, è colpa tua.


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

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

La differenza tra la mia sceneggiatura e le altre che ho visto finora:

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

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

Gli ho assegnato una scorciatoia (cmd + maiusc +.) E trovo molto più conveniente lavorare con i file nascosti nel Finder.

Ringraziamo Tetsujin che ha pubblicato uno script su questo sito qualche tempo fa che mi sono adattato per aggiungere la funzionalità "riapri 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 utilizzare lo script: Apri un nuovo flusso di lavoro in Automator, trascina in "Esegui AppleScript", copia e incolla il codice sopra e salva nella cartella dei servizi (di solito, ~ / Library / Services /, afaik).

Allegare un collegamento per eseguire uno script dovrebbe essere coperto altrove su questo sito. Ho limitato l'ambito del mio collegamento al solo Finder.


Osservazione di stile:

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

Se non impongo questo ritardo, c'è una possibilità che OSX abbia riavviato Finder e abbia aperto una cartella (non necessariamente l'ultima attiva, nella mia esperienza). Insieme al mio comando 'aperto', questo può portare al cattivo effetto di due processi (invendibili, anche) del Finder in esecuzione e il Finder non funziona più. In questo caso, disconnettersi e riconnettersi risolve il problema, ma ovviamente è una perdita di tempo, quindi uso "sleep".

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

Se qualcuno conosce un modo per sopprimere il riavvio del Finder e l'apertura inaffidabile di una finestra dopo aver inviato il segnale killall - o in qualche altro modo per sbarazzarsi dell'hack del "sonno" - sarei felice di sentirlo!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.