Automator

speedlab

Membre enregistré
27 Novembre 2006
2
0
Bonjour,

J'essaie d'utiliser Automator pour la première fois (hééé oui, tout arrive!). Je pensais arriver à faire assez facilement un script permettant de compresser chaque fichier contenu dans un dossier unique (91 fichiers à compresser en 91 archives). A priori, pas quelque chose de compliqué, le nom ne doit même pas changer (simplement l'extension, évidemment ;)).

Mais voilà, ça fait environ une heure que je suis devant Automator, et rien, je ne m'en sors pas :rose:

Quelqu'un aurait la gentillesse de m'expliquer la démarche?

Merci beaucoup!
 
tu peux aussi utiliser Applescript pour ça, et il serait aisé de faire un script qui fait ça en 2 temps 3 mouvements.

Par contre, si tu n'y connais rien tu gagnerais du temps à utiliser automator effectivement.

Il y a un script tout fait si je me souviens bien dans le dossier Developer/Examples/Applescript Studio, et il doit s'appeler Archive Maker.

Il Suffit de le compiler avec Xcode et le tour est joué...
 
c'est bien le probleme j'ai le meme que le monsieur on ne peut pas dire a automator de le faire un fichier a la fois lui il prend tt ce qu'on lui donne il fait une archive globale et basta ....

une solution ?
 
c'est bien le probleme j'ai le meme que le monsieur on ne peut pas dire a automator de le faire un fichier a la fois lui il prend tt ce qu'on lui donne il fait une archive globale et basta ....

une solution ?
Bonjour

J'utilise un AppleScript, je lui donne les chemins du dossier Emetteur et Récepteur et il zippe tout le contenue, 1 fichier par élément.
Il déplace les fichiers déjà compressés seulement si il en existent.

Il existe beaucoup de code AS pret à compiler et à utiliser sur le Web.

@+
 
Il y a un script tout fait si je me souviens bien dans le dossier Developer/Examples/Applescript Studio, et il doit s'appeler Archive Maker.

Il Suffit de le compiler avec Xcode et le tour est joué...

Ce fameux archive maker doit pas etre bien difficile à éditer pour qu'il prenne tout d'un coup en effet :)
 
je veux bien mais j'y comprends rien .... je pensais le faire avec automator ... :(

je viens d'installer xcode et de regarder archive maker, mais cela ne fait pas un simple zip, ne prend pas chaques fichiers individuellement.... ceslinstinct vous auriez l'origine de votre code parce que c'est juste ce qu'il me faut !!! ;)
 
ceslinstinct vous auriez l'origine de votre code parce que c'est juste ce qu'il me faut !!! ;)
Bonjour

je t'envoie un MP

Si tu veut une version avec les commentaires pour comprendre le fonctionnement tu le dit.

Cordialement

Jean Louis

@+
 
  • J’aime
Réactions: mxmac et BS0D
Bonjour

je t'envoie un MP

Si tu veut une version avec les commentaires pour comprendre le fonctionnement tu le dit.

Cordialement

Jean Louis

@+

mille merci mais mon incompétence depasse tout ça ... je vous donne le résultat de mon apr'm de recherche ...

J'ai trouvé une piste plus simple pour moi, un détail ne marche pas encore totalement, puisque ce script zip tout fichiers et dossier ... je détail le tout ...

niveau automator :
obtenir les éléments sélectionnés
obtenir le contenu de dossiers

j'ai tenté de filtrer les elements en fonction de l'extention mais l'action suivante ne marche pas du coup ...

ensuite

executer un script applescript suivante
on run {input, parameters}
-- create a PKZip archive of the selected Finder item(s)
-- if no destination folder is specified, the archive will be placed in the same location
-- input: a list of Finder items to archive
-- output: a list of Finder items archived

set output to {}
set SkippedItems to {} -- this will be a list of skipped items
set DestinationFolder to missing value -- a Finder path to a destination folder if different

repeat with SomeItem in the input -- step through each item in the input
try
set SomeItem to SomeItem as text
if the last character of SomeItem is in {":", "/"} then set SomeItem to text 1 thru -2 of SomeItem
set ArchiveSource to POSIX path of SomeItem
if DestinationFolder is missing value then -- save the archive to the same location
set ArchiveName to ArchiveSource & ".zip"
else -- save the archive to the specified folder
set TheName to name of (info for SomeItem as alias)
set ArchiveName to (POSIX path of DestinationFolder) & TheName & ".zip"
end if
do shell script "ditto -ck " & (quoted form of ArchiveSource) & space & (quoted form of ArchiveName)
set the end of the output to (POSIX file ArchiveName) as alias -- success
on error ErrorMessage number ErrorNumber
log ErrorMessage
set the end of SkippedItems to SomeItem
end try
end repeat

if SkippedItems is not {} then -- handle skipped items
set TheCount to (count SkippedItems) as text
display alert "Error with Archive action" message TheCount & " items(s) were skipped - workflow will continue"
(*
choose from list SkippedItems with title "Error with Archive action" with prompt "The following items were skipped:" with empty selection allowed
if result is false then error number -128 -- user cancelled
*)
end if

return the output -- pass the result(s) to the next action
end run

soit on arrive a filtrer via automator la recherche de dossier, soit on rajoute une instruction applescript pour filtrer les dossiers et à la limite un ajout d'extension a vérifier pour ne zipper qu'un type de fichier ou deux ....

un pro d'applescript peut-il généreusement contribuer ? cette modification rendrait bien des services !!!