6 votes

Comment passer le chemin du fichier sélectionné depuis Finder vers un script Shell Automator

Je suis en train de créer un service Automator pour décompresser les fichiers sélectionnés dans le même dossier où ils se trouvent.

Comment puis-je obtenir le chemin absolu du fichier sélectionné dans Automator, afin de pouvoir le transmettre à mon script shell ?

Comme vous pouvez le voir, je ne transmets actuellement que le nom du fichier, mais il ne se décompresse pas dans le même dossier.

J'aimerais changer de dossier avant d'exécuter unzip, puis exécuter unzip. J'ai essayé cd ~ mais cela décompresse dans mon dossier personnel. Je voudrais décompresser dans le même dossier que les fichiers sélectionnés existent.

enter image description here

3voto

Michael Zhou Points 167

Ajoutez cd "$(dirname "$f")" avant la ligne unzip.

for f in "$@"; do
    cd "$(dirname "$f")"
    unzip -o "$f"
done 

ou sans changer de répertoire, utilisez l'option -d

[-d exdir]
          Un répertoire facultatif dans lequel extraire les fichiers. Par défaut, tous les fichiers et sous-répertoires
          sont recréés dans le répertoire actuel; l'option -d permet l'extraction dans un répertoire arbitraire.

for f in "$@"; do
    unzip "$f" -d "$(dirname "$f")"

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X