Mon CV

Afficher ou cacher les fichiers invisibles

11 mai 2013

Sur OS X on a de temps en temps besoin d’avoir accès au système de fichiers en totalité et donc d’afficher temporairement les éléments système et autres fichiers invisibles.

Aujourd’hui, non pas une mais trois solutions pour répondre à cette problématique :

  • Le première via le terminal (classique)
  • La deuxième avec une application AppleScript maison
  • La troisième avec une variante en AppleScript déclenchée par un Service Automator


1. Le grand classique : la commande shell entrée dans le Terminal 

Ouvrez votre Terminal et entrez

## Pour afficher les fichiers cachés
defaults write com.apple.finder AppleShowAllFiles TRUE
## Pour masquer les fichiers cachés
defaults write com.apple.finder AppleShowAllFiles FALSE

Ces commandes interviennent sur le fichier de préférences ~/Library/Preferences/com.apple.finder. Pensez ensuite à relancer votre Finder (menu Pomme > forcer à quitter > Finder > relancer) pour charger la modification dans votre environnement de travail.

Bon on est d’accord ça marche, mais pour ceux qui préfèrent, voici deux autres alternatives simples en utilisant Shell, AppleScript et Automator.

2. Une application applescript 

try
	set FICHIERS_CACHES to do shell script "defaults read com.apple.finder AppleShowAllFiles"
on error errorMessage number errorNumber
	set FICHIERS_CACHES to 0
end try
if FICHIERS_CACHES = "0" then
	set CONTINUER to button returned of (display dialog "Vos fichiers cachés sont actuellement MASQUÉS." & return & "Voulez-vous les AFFICHER ?" with icon 1 buttons {"Afficher", "Annuler"} default button {"Afficher"})
else
	set CONTINUER to button returned of (display dialog "Vos fichiers cachés sont actuellement VISIBLES." & return & "Voulez-vous les MASQUER ?" with icon 1 buttons {"Masquer", "Annuler"} default button {"Masquer"})
end if
if CONTINUER = "Annuler" then
else
	if FICHIERS_CACHES = "0" then
		do shell script "defaults write com.apple.finder AppleShowAllFiles 1"
	else
		do shell script "defaults write com.apple.finder AppleShowAllFiles 0"
	end if
	tell application "Finder" to quit
	delay 1
	tell application "Finder" to activate
	tell me to activate -- let the message be shwn at foreground
	if FICHIERS_CACHES = "0" then
		--say "VISIBLE"
		display dialog "Les fichiers spéciaux sont désormais visibles." buttons {"OK"}
	else
		--say "HIDDEN"
		display dialog "Les fichiers spéciaux sont désormais masqués." buttons {"OK"}
	end if
end if

Notez que vous pouvez si vous le souhaitez dé-commenter les lignes qui permettent à votre joli Mac de vous parler !

Enregistrez le tout dans une application et chaque fois que vous en avez besoin, utilisez-là.

3. Une action Automator accessible directement depuis le Finder

Cette fois, encore plus pratique : créer un service avec Automator.app. Dans ce service, choisissez une action d’appeler de l’AppleScript :

if {"OFF", "FALSE"} contains (do shell script "defaults read com.apple.finder AppleShowAllFiles") then
	set theValue to "TRUE"
else
	set theValue to "FALSE"
end if
do shell script ("defaults write com.apple.finder AppleShowAllFiles " & theValue) as string
do shell script "killall Finder"

Capture_decran_2013-05-11_a_08.55.55

Pour appeler cette action, il vous suffira d’aller dans le menu Finder > Services (CMD+,).

Si vous voyez d’autres méthodes, je suis preneur pour allonger cette petite collection !

Posted in Apple et MacintoshTags: