Note : Cette réponse a été rédigée sur la base du message original de la question et en particulier des trois premiers paragraphes de cette réponse, sans cette note. Depuis lors, le PO a été mis à jour pour répondre à ce qui a été exprimé dans les trois premiers paragraphes et ils peuvent maintenant sembler hors contexte. Cependant, en regardant l'historique des modifications de l'OP, on peut voir la pertinence dans le contexte de la question originale. Ils resteront en place jusqu'à ce que j'aie le temps d'effectuer une modification appropriée.
Désolé, mais votre question n'est pas si bien définie et ce n'est pas totalement clair ce que actions que vous avez ajouté à la Action sur les dossiers dans Automator flux de travail sans l'évidence Exécuter AppleScript action . On ne sait pas non plus s'il existe des actions ajouté avant ou après le Exécuter AppleScript action . En outre, il n'est pas clair quel code est dans /Users/jeffolaa/pointer.sh
ou tout ce qu'il fait. Ce qui me pousse à croire que le fait de passer le name
de la fichier à pointer.sh
peut ne pas être suffisant. Bien que sans voir le code sur pointer.sh
à ce stade, vous êtes le seul à le savoir.
En outre, le formulaire de la AppleScript code que vous avez montré dans l'OP n'est pas la bonne. formulaire pour un Action sur les dossiers dans Automator flux de travail en utilisant un Exécuter AppleScript action . Le site on adding folder items
manipulateur est de la type utilisé dans un AppleScript script (.scpt) qui est assigné manuellement à l'équipe de la dossier de destination en utilisant le Configuration de l'action du dossier... commande de la Services menu contextuel sur Finder pas Automator où vous devez utiliser l'option on input
manipulateur dans le Exécuter AppleScript action .
Vous n'avez pas non plus code de gestion des erreurs qui est important dans Actions des dossiers et le type et la quantité peuvent dépendre de ce que vous avez codé dans le système de gestion de l'information. pointer.sh
. En d'autres termes, vous pourriez vouloir filtrer les éléments ajoutés au dossier par type, en vous assurant qu'il s'agit d'un fichier et non d'un dossier, ou d'un type de fichier particulier avec une extension donnée, etc. Cela peut être fait dans Automator avant qu'il n'atteigne le Exécuter AppleScript action ou dans le code de la Exécuter AppleScript action ou dans le code sur pointer.sh
ou une combinaison de l'un ou de tous ces éléments.
Cela dit, les points suivants exemple AppleScript code est un codage minimal de ce qui a du sens pour pouvoir faire passer le nom de chemin entièrement qualifié cité du ou des fichiers ajoutés à la dossier de destination que vous mettez en L'action Dossier d'Automator reçoit les fichiers et les dossiers ajoutés à [ ]. dossier ] à passer à pointer.sh
car c'est typique d'un argument transmis à un commande shell .
Minimal exemple AppleScript code pour une utilisation dans un Exécuter AppleScript action dans un Action sur les dossiers dans Automator flux de travail :
on run {input, parameters}
repeat with i from 1 to count input
try
set thisItem to item i in input
set thisItemsPathname to quoted form of POSIX path of thisItem
do shell script "/Users/jeffolaa/pointer.sh " & thisItemsPathname
end try
end repeat
end run
Minimal exemple AppleScript code pour une utilisation dans un AppleScript script (.scpt) attribué manuellement à l'équipe de la dossier de destination en utilisant le Configuration de l'action du dossier... commande de la Services menu contextuel sur Finder :
on adding folder items to thisFolder after receiving theseItems
repeat with i from 1 to count theseItems
try
set thisItem to item i in theseItems
set thisItemsPathname to quoted form of POSIX path of thisItem
do shell script "/Users/jeffolaa/pointer.sh " & thisItemsPathname
end try
end repeat
end adding folder items to
- Remarque : Pour utiliser un AppleScript script (.scpt) en utilisant le Configuration de l'action du dossier... commande de la Services menu contextuel sur Finder il faut d'abord l'ajouter à la
~/Library/Scripts/Folder Action Scripts
qui se trouve dans votre Accueil dossier.
Pour tester ce qui précède code j'ai créé le /Users/jeffolaa/pointer.sh
avec le fichier suivant code en elle :
#!/bin/bash
mv "$1" "$HOME/Test/"
Ce qui a pour effet de replacer les fichiers dans le dossier à partir duquel ils ont été glissés vers le dossier de l'utilisateur. dossier de destination le site Action des dossiers est affecté, qui est un dossier au sein de l'arborescence de l'entreprise. Test dossier. Cela m'a permis de savoir qu'il fonctionnait correctement comme codé.
Maintenant, si c'est juste le name
de la fichier que vous voulez transmettre à pointer.sh
vous pouvez utiliser ce qui suit :
Minimal exemple AppleScript code pour une utilisation dans un Exécuter AppleScript action dans un Action sur les dossiers dans Automator flux de travail :
on run {input, parameters}
repeat with i from 1 to count input
try
set thisItem to item i in input
set thisItemsInfo to info for thisItem
set thisItemsFileName to quoted form of name in thisItemsInfo
do shell script "/Users/jeffolaa/pointer.sh " & thisItemsFileName
end try
end repeat
end run
Minimal exemple AppleScript code pour une utilisation dans un AppleScript script (.scpt) attribué manuellement à l'équipe de la dossier de destination en utilisant le Configuration de l'action du dossier... commande de la Services menu contextuel sur Finder :
on adding folder items to thisFolder after receiving theseItems
repeat with i from 1 to count theseItems
try
set thisItem to item i in theseItems
set thisItemsInfo to info for thisItem
set thisItemsFileName to quoted form of name in thisItemsInfo
do shell script "/Users/jeffolaa/pointer.sh " & thisItemsFileName
end try
end repeat
end adding folder items to
- Remarque : Pour utiliser un AppleScript script (.scpt) en utilisant le Configuration de l'action du dossier... commande de la Services menu contextuel sur Finder il faut d'abord l'ajouter à la
~/Library/Scripts/Folder Action Scripts
qui se trouve dans votre Accueil dossier.
Pour tester ce qui précède code j'ai édité le pointer.sh
avec le code suivant :
#!/bin/bash
say "$1"
Qui dit simplement que name
du dossier détenu dans thisItemsFileName
ce qui m'a permis de savoir qu'il fonctionnait correctement comme codé.
Note : Le site exemple AppleScript code ci-dessus n'est que cela, et sans l'envelopper dans une balise try
déclaration ne comprend pas d'autres traitement des erreurs comme cela peut être approprié/nécessaire/souhaité, il incombe à l'utilisateur d'ajouter toute information appropriée à l'information. traitement des erreurs pour tout exemple de code présenté et ou code écrit par soi-même.
Cela dit, si vous voulez bien mettre à jour votre question pour y ajouter les éléments manquants mentionnés dans les premiers paragraphes de ma réponse, je serai heureux de les modifier. exemples de code pour refléter ce qui est approprié gestion des erreurs doit être ajouté. Ça n'a aucun sens de l'ajouter tant que je ne connais pas les détails.