Ce forum est en partie financé par l’affichage de publicités. Merci de désactiver votre bloqueur de publicités pour nous permettre de continuer à fournir ce service.
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.

Aide pour script Applescript ou droplet un peu particulier

Discussion dans 'Développement Mac' créé par PO_, 16 Juillet 2017.

  1. PO_

    PO_ Membre d'élite
    Club MacG

    Inscrit:
    29 Avril 2008
    Messages:
    1 710
    J'aime reçus:
    124
    Bonjour,

    J'aurais besoin d'un coup de main parce que j'ai de (très) nombreuses opération répétitives à réaliser et je suis persuadé qu'un script pourrait faire tout cela, seulement voilà, je n'y connais rien de rien.

    Je dispose de pas mal de fichiers .cbr, ou .cbz (Il s'agit de BD). Ils ont une icône générique. Les fichiers jpg, eux, de base ont comme icône, l'aperçu du fichier.

    J'aimerais un truc qui extraie la couverture (c'est le premier fichier dans l'archive), et remplace l'icône générique par l'aperçu de ce .jpg correspondant. Si c'est pas possible directement sur le .cbr, ou le .cbz, à cause du compactage, je peux sans problème décompter l'archive pour obtenir le dossier correspondant contenant les fichiers .jpg, sur lequel appliquer le script. Il y aurait donc le .cbz ou .cbr et le dossier décompté correspondant pourtant le même nom.

    Y aurait-il un as de l'applescript qui pourrait me concocter cet outil miracle ?
     
    #1 PO_, 16 Juillet 2017
    Dernière édition: 17 Juillet 2017, à 00:14
  2. baron

    baron Membre émérite

    Inscrit:
    22 Avril 2008
    Messages:
    593
    J'aime reçus:
    71
    Je regarderais d'abord si Graphic Converter ne permettrait pas cela…?
     
  3. PO_

    PO_ Membre d'élite
    Club MacG

    Inscrit:
    29 Avril 2008
    Messages:
    1 710
    J'aime reçus:
    124
    Merci de la suggestion.

    je viens de regarder, et apparemment, il ne reconnait pas le format d'archive et je n'ai rien vu dans les menus qui puissent avoir un rapport avec ce que je désire obtenir.
     
  4. JacqR

    JacqR Membre confirmé

    Inscrit:
    9 Octobre 2014
    Messages:
    112
    J'aime reçus:
    16
    Bonjour,

    Voici une solution (testé sur macOS Sierra) :

    Les fichiers ".cbz" sont des fichiers ZIP.
    Pour les fichiers ".cbr" , il n'y a pas d'utilité standard sur OSX pour lire ou extraire un fichier de cette archive, ils sont compressés avec RAR.​

    1-
    Donc, il vous faut l'exécutable unrar, il suffit de télécharger l'application UnRarX dans cette page http://www.unrarx.com, de décompresser l'archive et de placer l'application dans un dossier où vous voulez.

    Vous n'avez pas besoin de lancer l'application ou de l'utiliser, le script n'utilise que l'exécutable "unrar" dans l'application "UnRarX".
    2-
    Ouvre l'application "Éditeur de script".
    Copier et coller le texte de ce script :​

    Code (Text):
    use framework "AppKit"
    use scripting additions

    on open cesArchives
        tell application "Finder"
            set p to (application file id "com.peternoriega.unrarx") as string -- on obtient le chemin de l'application UnRarX
            set tempFolder to POSIX path of ((make new folder) as string) -- création d'un dossier temporaire (c'est pour extraire le premier JPEG dans l'archive)
        end tell
        set unrarPath to quoted form of ((POSIX path of p) & "/Contents/Resources/unrar") -- on obtient l'exécutable dans l'application "UnRarX"
     
        repeat with archive in cesArchives -- boucle sur les fichiers déposés sur l'application (ce script)
            set x to POSIX path of archive
            set firstJPG to ""
            try
                if x ends with ".cbr" then
                    set firstJPG to do shell script unrarPath & " vb " & (quoted form of x) & " | grep -m 1 -i  '.jpg$'" -- on obtient le nom du premier fichier .JPG dans l'archive ".cbr"
                else if x ends with ".cbz" then
                    set firstJPG to do shell script "unzip -Z -1 " & (quoted form of x) & " | grep -m 1 -i '.jpg$'" -- on obtient le nom du premier fichier .jpg dans l'archive ".cbz"
                end if
            end try
            if firstJPG is not "" then
                set tFile to ""
                if x ends with ".cbr" then
                    do shell script "cd " & (quoted form of tempFolder) & "; " & unrarPath & " e " & (quoted form of x) & " " & quoted form of firstJPG -- on extrait le premier fichier dans l'archive et on le place dans le dossier temporaire
                else if x ends with ".cbz" then
                    do shell script "cd " & (quoted form of tempFolder) & "; unzip -j " & (quoted form of x) & " " & quoted form of firstJPG -- on extrait le premier fichier dans l'archive et on le place dans le dossier temporaire
                else -- ce n'est pas un fichier ".cbr" ou ".cbz"
                    set tFile to missing value
                end if
                if tFile is not missing value then
                    tell application "System Events" to tell (first file of folder tempFolder whose name extension is "jpg") to if exists then set tFile to POSIX path -- on obtient le chemin du fichier dans le dossier temporaire
                    if tFile is not "" then my setIcon(tFile, x)
                end if
            end if
        end repeat
        tell application "System Events" to delete folder tempFolder -- supprime le dossier temporaire
    end open

    on setIcon(f, f2)
        --do shell script "sips -i " & quoted form of f -- ajoute une icône au fichier image
        set shW to current application's NSWorkspace's sharedWorkspace()
        set theIcon to shW's iconForFile:f -- on obtient l'icône du fichier
        shW's setIcon:theIcon forFile:f2 options:(current application's NSExclude10_4ElementsIconCreationOption) -- ajoute une icône personnalisée à l'archive
        tell application "System Events" to delete file f --  supprime le fichier dans le dossier temporaire
    end setIcon


    Sélectionnez le menu "Fichier" --> "Enregistrer"

    Dans la fenêtre d'enregistrement, sélectionnez "Application" comme format de fichier dans le popup bouton, les autres options doivent être décochées.​



    3- Après l'enregistrement du script, quittez l'application "Éditeur de script", c'est tout.​




    Pour traiter tes archives, il suffit de faire un glissé/déposé des archives sur l'icône du droplet (le script).


    Information: même si le Finder affiche les aperçus des fichiers images, cela ne veut pas dire que les fichiers images ont des icônes personnalisées, ils peuvent avoir que des icônes génériques.

    Si les archives affichent l'icône générique des fichiers JPEG après le traitement par le script:

    J'ai prévu cela dans le script au cas où, il suffit de supprimer les deux premiers caractères dans la ligne qui commence par
     
    #4 JacqR, 18 Juillet 2017, à 02:30
    Dernière édition: 18 Juillet 2017, à 02:39
  5. PO_

    PO_ Membre d'élite
    Club MacG

    Inscrit:
    29 Avril 2008
    Messages:
    1 710
    J'aime reçus:
    124
    UN énorme merci. Je testerais cela demain, dès que j'aurais un moment, et je ne manquerais pas de faire un retour ici même.
     
  6. PO_

    PO_ Membre d'élite
    Club MacG

    Inscrit:
    29 Avril 2008
    Messages:
    1 710
    J'aime reçus:
    124
    Petit retour d'utilisation :

    C'EST MAGIQUE ! ! !

    Un énorme merci ( bis ).

    Il y a certains fichiers qui se montrent récalcitrants, mais ceux là, je les traiterais à la mano. Pour le premier (et le seul pour le moment) que j'ai autopsié pour comprendre, la structure n'était pas standard, donc cela s'explique.

    C'est vraiment sympa à toi d'avoir pris le temps de me mitonner cet utilitaire.
     
  7. PO_

    PO_ Membre d'élite
    Club MacG

    Inscrit:
    29 Avril 2008
    Messages:
    1 710
    J'aime reçus:
    124
    Ooups !! je dois tempérer mon enthousiasme. l'aperçu créé est de très très faible résolution. Il y aurait pas moyen d'améliorer ça ???

    Je ne m'en étais pas rendu compte sur le coup, car j''étais en mode liste, sans visualisation de l'aperçu dans la partie droite de la fenêtre ...

    snif ...

    et j'ai remarqué que dans certains cas, le script ne prenait pas la première image, mais la dernière, ou même un autre image dans le lot . Pas pu comprendre pourquoi.

    Lorsque je procède à la main, voila ce que je fais : je décompacte une copie du cbr, ou du cbz, obtenant le dossier dans lequel sont les jpg. Je fais un Commande-I sur la couverture. Je fais un Command-Ctrl-Shift-4 (au moyen d'un raccourci sur bouton de souris) sur l'aperçu apparaissant dans la fenêtre d'information. je fais ensuite un Commande-I sur le cbz ou le cbr correspondant. Puis je clique en haut à gauche sur la miniature de l'icône et Commande-V pou coller la copie de l'aperçu. J'obtiens ainsi un aperçu de haute qualité.
     
    #7 PO_, 18 Juillet 2017, à 13:23
    Dernière édition: 18 Juillet 2017, à 14:16
  8. JacqR

    JacqR Membre confirmé

    Inscrit:
    9 Octobre 2014
    Messages:
    112
    J'aime reçus:
    16
    Bonjour,


    Pour les images, la commande récupère la liste selon l’ordre des fichiers compressés, et il se peut que la liste ne soit pas toujours en ordre alphabétique (cela dépend de l'application ou de la ligne de commande qui compresse les fichiers, aussi de l'ordre personnalisé pour le dossier qui contient les fichiers).

    Donc, j’ai ajouté un tri de la liste des noms au script.


    Pour la résolution de l’icône, la commande "sips -i" donne effectivement une icône de faible résolution, je l’ai remplacé par une méthode Cocoa-Applescript.

    Voici le script AppleScript modifié.
    Code (Text):
    use framework "Foundation"
    use framework "AppKit"
    use scripting additions

    on open cesArchives
        tell application "Finder"
            set p to (application file id "com.peternoriega.unrarx") as string -- on obtient le chemin de l'application UnRarX
            set tempFolder to POSIX path of ((make new folder) as string) -- création d'un dossier temporaire (c'est pour extraire le premier JPEG dans l'archive)
        end tell
        set unrarPath to quoted form of ((POSIX path of p) & "/Contents/Resources/unrar") -- on obtient l'exécutable dans l'application "UnRarX"
       
        repeat with archive in cesArchives -- boucle sur les fichiers déposés sur l'application (ce script)
            set x to POSIX path of archive
            set firstJPG to ""
            try
                if x ends with ".cbr" then
                    set r to do shell script unrarPath & " vb " & (quoted form of x) -- on obtient la liste des noms dans l'archive ".cbr"
                else if x ends with ".cbz" then
                    set r to do shell script "unzip -Z -1 " & (quoted form of x) -- on obtient la liste des noms  dans l'archive ".cbz"
                end if
                if r is not "" then set firstJPG to my trier(paragraphs of r) -- on tri les noms et on obtient le nom du premier fichier .JPG dans l'archive
            end try
            if firstJPG is not "" then
                set tFile to ""
                if x ends with ".cbr" then
                    do shell script "cd " & (quoted form of tempFolder) & "; " & unrarPath & " e " & (quoted form of x) & " " & quoted form of firstJPG -- on extrait le premier fichier dans l'archive et on le place dans le dossier temporaire
                else if x ends with ".cbz" then
                    do shell script "cd " & (quoted form of tempFolder) & "; unzip -j " & (quoted form of x) & " " & quoted form of firstJPG -- on extrait le premier fichier dans l'archive et on le place dans le dossier temporaire
                else -- ce n'est pas un fichier ".cbr" ou ".cbz"
                    set tFile to missing value
                end if
                if tFile is not missing value then
                    tell application "System Events" to tell (first file of folder tempFolder whose name extension is "jpg") to if exists then set tFile to POSIX path -- on obtient le chemin du fichier dans le dossier temporaire
                    if tFile is not "" then my setIcon(tFile, x)
                end if
            end if
        end repeat
        tell application "System Events" to delete folder tempFolder -- supprime le dossier temporaire
    end open

    on setIcon(f, f2)
        set ca to current application
        set image to ca's NSImage's alloc()'s initWithContentsOfFile:f -- on récupère l'image JPG  (pleine grandeur)
        set w to image's |size|()'s width()
        set h to image's |size|()'s height()
        if h > w then
            set maxD to h
            set centerH to 0
            set centerW to (h - w) / 2
        else
            set maxD to w
            set centerW to 0
            set centerH to (w - h) / 2
        end if
        (*  Le problème avec 'setIcon:theIcon' est qu'il crée une icône carré, donc  si l'image originale est rectangulaire l'icône sera déformé
             La solution est de créer une nouvelle image carré avec un fond invisible et on applique l'image originale au centre du fond invisible, les dimensions de l'image originale  restera la même
        *)
       
        set centerBounds to ca's NSMakeRect(centerW, centerH, w, h)
        set theIcon to ca's NSImage's alloc()'s initWithSize:{maxD, maxD} -- création d'une nouvelle image vide (elle est redimensionné pour faire un carré)
        theIcon's lockFocus()
        image's drawInRect:centerBounds fromRect:(ca's NSZeroRect) operation:(ca's NSCompositeCopy) fraction:1.0 -- on applique l'image originale au centre de l'image vide
        theIcon's unlockFocus()
        ca's NSWorkspace's sharedWorkspace()'s setIcon:theIcon forFile:f2 options:0 -- on ajoute une icône personnalisée à l'archive
       
        tell application "System Events" to delete file f --  supprime le fichier dans le dossier temporaire
    end setIcon

    on trier(l) --  une méthode Cocoa-Applescript (Objective-C)
        set theList to current application's NSMutableArray's arrayWithArray:l
        set theDesc to current application's NSSortDescriptor's sortDescriptorWithKey:"self" ascending:true selector:"localizedStandardCompare:"
        theList's sortUsingDescriptors:{theDesc} -- on tri la liste
        ((theList's pathsMatchingExtensions:{"jpg", "JPG", "jpeg", "JPEG"})'s objectAtIndex:0) as string -- on obtient le premier JPG dans la liste
    end trier
     
  9. PO_

    PO_ Membre d'élite
    Club MacG

    Inscrit:
    29 Avril 2008
    Messages:
    1 710
    J'aime reçus:
    124
    Vraiment, Merci beaucoup. Je teste et je te dis quoi ... ;)
     
  10. PO_

    PO_ Membre d'élite
    Club MacG

    Inscrit:
    29 Avril 2008
    Messages:
    1 710
    J'aime reçus:
    124
    Le dernier paragraphe après EDIT est important

    C'est presque bon .

    Toutes les icônes de mauvaise qualité ont été avantageusement remplacées.

    Pour les fichiers que j'ai traité, Je n'ai eu aucun problème sur les .cbr (rar) , en revanche pas mal de soucis sur des cbz (zip) ne donnant aucune icône du tout.

    Après décompactage, il s'avère qu'ils ont une "structure" un peu bizarre quant à la dénomination des fichiers. Je me permets de te joindre 3 liens pour que tu voies ce qu'il en est. L'ensemble des 3 liens représente 480 Mo, j'en suis désolé).

    J'aurais bien tenté le coup les compacter en .cbr (rar), mais je ne dispose pas d'outil me permettant ce cette compression.

    J'ai fait l'essai de renommer les fichiers .jpg d'un dossier récalcitrant et ça a marché, donc au pire, j'ai toujours cette solution.

    Je te renouvelle mes remerciements.


    PS: voici les liens (je te les aurais bien envoyé en message privé, mais j'ai l'impression que le forum ne le permet pas

    http://www72.zippyshare.com/v/Jh1ct9oh/file.html

    http://www104.zippyshare.com/v/gbzfFfP4/file.html

    http://www79.zippyshare.com/v/ZpP66CfG/file.html


    EDIT-------------------

    Après essais, je me suis rendu compte qu'en renommant systématiquement les fichiers sous la forme image_01; image_02; ... il n'avait plus aucun problème. Ce serait-peut-être plus simple pour toi, si tu viens bien continuer à m'aider d'inclure une routine de renommage systématique.

    un autre point, je suis tombé sur un dossier où l'extension était .jpeg et non pas .jpg, et ça n'a pas marché, mais bon c'est anecdotique.
     
    #10 PO_, 19 Juillet 2017, à 06:17
    Dernière édition: 19 Juillet 2017, à 07:16
  11. PO_

    PO_ Membre d'élite
    Club MacG

    Inscrit:
    29 Avril 2008
    Messages:
    1 710
    J'aime reçus:
    124
    près avoir traité des dizaines de dossiers, je me suis mis à avoir une erreur finder systématique sur ton script (Erreur de paramètres -50). Impossible de rien traiter. J'ai galèré pendant plus de 2 heures et demie, cherchant même à réinstaller mon OS (mais pas possible de retélécharger une combo). Puis, d'un seul coup c'est retombé en marche. Je n'y comprends absolument rien. D'après toi qu'est ce qui peut provoquer une erreur -50. Ça m'ouvrait bien la fenêtre de l'éditeur de script, mais pas moyen de voir où ça coince. Rien trouvé dans la console non plus.

    Le pire c'est que ça ne marche pas sur le Mac Pro qui est en 10.11.4, même erreur. Et lui, j'arrive pas à le faire tomber en marche

    Je me suis fait 2 scripts automator pour accélérer le traitement des fichiers qui récalcitrent à cause de leur structure bizarroïde : l'un pou dézipper un cbz : il change l'extension puis dzippe. Ensuite, je balance le contenu de la fenêtre dans BetterFinderRename pour qu'il me renomme tout, une fois que c'est fait, second script qui décompresse en zip, et change l'extension en cbz. puis drag&drop sur ton script magique, et roule ma poule une belle icône. Je n'ai pas eu un seul raté avec cette méthode.

    J'utilise Keka comme capteur décompacteur.
     
  12. JacqR

    JacqR Membre confirmé

    Inscrit:
    9 Octobre 2014
    Messages:
    112
    J'aime reçus:
    16
    Bonjour,


    1-
    Le problème avec certains fichiers ".cbz" est qu'ils sont compressés au format RAR, donc c'est le créateur de l'archive qui n'a pas mis la bonne extension.
    J'ai réglé cela dans le nouveau script.​


    2-
    L'autre problème est que l'archive contient des fichiers invisibles, ce sont des resources fork qui sont attachées au fichier Mac, ce problème survient quand les fichiers originaux sont créés sur un disque au format Mac et qu'ils sont transférés sur un disque au format Windows (les resources fork sont détachées du fichier et cela crée des fichiers inutiles) .

    Si l'utilisateur (sur Windows) ne nettoie pas le dossier de ces fichiers inutile, l'utilitaire qui compresse les fichiers inclura les fichiers invisibles dans l'archive.
    Donc, dans le nouveau script, j'exclus dans la liste de noms, les noms qui contient "__MACOSX/"​


    Pour l'erreur, je ne sais pas, mais je ne crois pas que cela fonctionne correctement pour OS 10.11.x ou moins récent:
    La méthode pour (10.11.x ou moins récent) serait comme ceci :

    Ouvrir l'application "Éditeur de script" et sélectionnez le menu "Fichier" --> "Nouveau à partir d'un modèle" --> "Cocoa-AppleScript Applet"

    Copié/collé le script.
    Ajouté quit dans le script juste avant la ligne qui commence par end open, comme ceci
    Car cette application ne quittera pas automatiquement comme un droplet normal
    On enregistre le script, c'est tout.​


    Note : pour les scripts de type "Cocoa-Applescript", il est préférable de toujours compiler le script avant de l'enregistrer (il suffit de cliquer sur le bouton dont l'icône est un marteau), cela évite certaines erreurs.

    J'ai activé mes messages personnels , si vous avez besoin de m'envoyer d'autres fichiers, vous pouvez le faire en privé.

    Voici le nouveau script :
    Code (Text):
    use framework "Foundation"
    use framework "AppKit"
    use scripting additions

    on open cesArchives
        tell application "Finder"
            set p to (application file id "com.peternoriega.unrarx") as string -- on obtient le chemin de l'application UnRarX
            set tempFolder to POSIX path of ((make new folder) as string) -- création d'un dossier temporaire (c'est pour extraire le premier JPEG dans l'archive)
        end tell
        set unrarPath to quoted form of ((POSIX path of p) & "/Contents/Resources/unrar") -- on obtient l'exécutable dans l'application "UnRarX"
       
        repeat with archive in cesArchives -- boucle sur les fichiers déposés sur l'application (ce script)
            set x to POSIX path of archive
            set firstJPG to ""
            set fauxCBZ to false
            try
                if x ends with ".cbr" then
                    set r to do shell script unrarPath & " vb " & (quoted form of x) & " | grep -v '__MACOSX/'" -- on obtient la liste des noms dans l'archive ".cbr"
                else if x ends with ".cbz" then
                    try
                        set r to do shell script "unzip -Z -1 " & (quoted form of x) & " | grep -v '__MACOSX/'" -- on obtient la liste des noms  dans l'archive ".cbz"
                    on error -- ce n'est pas une archive zip, c'est un ".cbz" compressé au format rar
                        set r to do shell script unrarPath & " vb " & (quoted form of x) & " | grep -v '__MACOSX/'" -- on obtient la liste des noms dans l'archive ".cbz"
                        set fauxCBZ to true
                    end try
                end if
                if r is not "" then set firstJPG to my trier(paragraphs of r) -- on tri les noms et on obtient le nom du premier fichier .JPG dans l'archive
            end try
            if firstJPG is not "" then
                set tFile to ""
                if x ends with ".cbr" or fauxCBZ then
                    do shell script "cd " & (quoted form of tempFolder) & "; " & unrarPath & " e " & (quoted form of x) & " " & quoted form of firstJPG -- on extrait le premier fichier dans l'archive et on le place dans le dossier temporaire
                else if x ends with ".cbz" then
                    do shell script "cd " & (quoted form of tempFolder) & "; unzip -j " & (quoted form of x) & " " & quoted form of firstJPG -- on extrait le premier fichier dans l'archive et on le place dans le dossier temporaire
                else -- ce n'est pas un fichier ".cbr" ou ".cbz"
                    set tFile to missing value
                end if
                if tFile is not missing value then
                    tell application "System Events" to tell (first file of folder tempFolder whose name extension is "jpg") to if exists then set tFile to POSIX path -- on obtient le chemin du fichier dans le dossier temporaire
                    if tFile is not "" then my setIcon(tFile, x)
                end if
            end if
        end repeat
        tell application "System Events" to delete folder tempFolder -- supprime le dossier temporaire
    end open

    on setIcon(f, f2)
        set ca to current application
        set image to ca's NSImage's alloc()'s initWithContentsOfFile:f -- on récupère l'image JPG  (pleine grandeur)
        set w to image's |size|()'s width()
        set h to image's |size|()'s height()
        if h > w then
            set maxD to h
            set centerH to 0
            set centerW to (h - w) / 2
        else
            set maxD to w
            set centerW to 0
            set centerH to (w - h) / 2
        end if
        (*  Le problème avec 'setIcon:theIcon' est qu'il crée une icône carré, donc  si l'image originale est rectangulaire l'icône sera déformé
             La solution est de créer une nouvelle image carré avec un fond invisible et on applique l'image originale au centre du fond invisible, les dimensions de l'image originale  restera la même
        *)
       
        set centerBounds to ca's NSMakeRect(centerW, centerH, w, h)
        set theIcon to ca's NSImage's alloc()'s initWithSize:{maxD, maxD} -- création d'une nouvelle image vide (elle est redimensionné pour faire un carré)
        theIcon's lockFocus()
        image's drawInRect:centerBounds fromRect:(ca's NSZeroRect) operation:(ca's NSCompositeCopy) fraction:1.0 -- on applique l'image originale au centre de l'image vide
        theIcon's unlockFocus()
        ca's NSWorkspace's sharedWorkspace()'s setIcon:theIcon forFile:f2 options:0 -- on ajoute une icône personnalisée à l'archive
       
        tell application "System Events" to delete file f --  supprime le fichier dans le dossier temporaire
    end setIcon

    on trier(l) --  une méthode Cocoa-Applescript (Objective-C)
        set theList to current application's NSMutableArray's arrayWithArray:l
        set theDesc to current application's NSSortDescriptor's sortDescriptorWithKey:"self" ascending:true selector:"localizedStandardCompare:"
        theList's sortUsingDescriptors:{theDesc} -- on tri la liste
        ((theList's pathsMatchingExtensions:{"jpg", "JPG", "jpeg", "JPEG"})'s objectAtIndex:0) as string -- on obtient le premier JPG dans la liste
    end trier
     
  13. JacqR

    JacqR Membre confirmé

    Inscrit:
    9 Octobre 2014
    Messages:
    112
    J'aime reçus:
    16
    Re Bonjour,

    OK pour l'erreur number -50, j'ai trouvé, vous obtiendrez cette erreur si le Finder ne trouve pas l'application "UnrarX", donc il faut télécharger l'application "UnrarX" pour chaque OS si vous voulez utiliser ce script, et il faut que l'application "UnrarX" soit sur le volume de démarrage.
     
  14. PO_

    PO_ Membre d'élite
    Club MacG

    Inscrit:
    29 Avril 2008
    Messages:
    1 710
    J'aime reçus:
    124
    Je l'avais téléchargé selon vos instructions, et tout marchait. Je ne l'ai pas supprimée alors pourquoi cela a-t'il cessé de marcher, et surtout pourquoi est-ce retombé en marche ... les mystères insondables de l'informatiques. j'avais bien entendu essayé moulte fois de redémarrer et même de zapper la PRAM ... mais sans résultat ...
     
  15. PO_

    PO_ Membre d'élite
    Club MacG

    Inscrit:
    29 Avril 2008
    Messages:
    1 710
    J'aime reçus:
    124
    pour le moment, tout à l'air de fonctionner comme sur des roulettes. Juste 3 exceptions sur 500 fichiers traités. Je vous les ferais parvenir ultérieurement. Ah oui, si au lien de .jpg, les fichiers sont .jpeg, ça ne fonctionne pas.
     
  16. PO_

    PO_ Membre d'élite
    Club MacG

    Inscrit:
    29 Avril 2008
    Messages:
    1 710
    J'aime reçus:
    124
    Je viens de traiter plus de 1500 fichiers (en plusieurs fois lol ) , et d'un coup, l'application s'est bloquée. J'ai été obligé de la force quit. Depuis, plus moyen de la faire fonctionner, à nouveau la #@&*% ! d'erreur -50 ... je ne sais pas quoi faire, puisque je ne sais pas pourquoi elle s'est remise à fonctionner dans l'après midi ...
     
  17. PO_

    PO_ Membre d'élite
    Club MacG

    Inscrit:
    29 Avril 2008
    Messages:
    1 710
    J'aime reçus:
    124
    J'ai réussi à me débarrasser encore une fois de l'erreur -50. J'était persuadé d'avoir téléchargé unRarX. Après avoir fait une recherche sur le disque dur, je n'ai trouvé qu'un dossier nommé "rar" contenant des fichiers txt et 2 fichiers nommés rar et unrar portant l'icône d'un "terminal". J'ai donc téléchargé unRarX suivant le lien donné dans votre premier message et tout est rentré dans l'ordre.

    Par contre j'aurais encore un petit service à vous demander. Les 2 scripts automator que j'ai fait me permettent, l'un de dézipper automatiquement un cbz, ou un cbz (uniquement pour les fichiers récalcitrants, qui se font de plus en plus rares ou pour les packs contenant plusieurs BD et que je souhaite individualiser), et l'autre script me permet de recompacter le dossier (après modifications) et de lui affecter l'extension.cbz. Ces scripts fonctionnent par Drag & Drop, MAIS, et c'est là l'objet de ma demande, on ne peut glisser dessus qu'un seul fichier à la fois. Vous serait-il possible de me les inclure dans un script qui me permettent de glisser-déplacer un ensemble de fichiers (pour le premier) ou de dossiers (pour le second) ?
    L'ultime version de votre scripte magique fonctionne à la perfection. Les rares exceptions ne sont dues qu'à des structures incorrectes et donc ne pouvant pas être prise en compte par le script.

    voici le lien pour les 2 scripts :

    http://www94.zippyshare.com/v/VDDLnjRE/file.html
     
  18. JacqR

    JacqR Membre confirmé

    Inscrit:
    9 Octobre 2014
    Messages:
    112
    J'aime reçus:
    16
    Bonjour,

    C'est fait.

    Pour le processus qui compresse les dossiers:
    Ce n'est pas possible avec les actions normales d'Automator, car il compressera tous les dossiers dans une seule archive.
    Donc, j'utilise un script shell qui compressera chaque dossier dans le dossier parent.​

    Si vous voulez déplacer les nouvelles archives ".cbz" dans un dossier spécifique, il suffit d'ajouter l'action "Déplacer les éléments du Finder" après l'action "Exécuter un script Shell"​



    Voici le lien pour télécharger les processus modifiés : https://1drv.ms/u/s!AuQlRHHsVyZmgQqaG6GNSSPbcUYI
     
  19. PO_

    PO_ Membre d'élite
    Club MacG

    Inscrit:
    29 Avril 2008
    Messages:
    1 710
    J'aime reçus:
    124
    y a un truc qui m'interpelle dans le script modifié dézippage cbz que vous m'avez fourni. Je l'ai examiné avec automator, et il semble identique au mien. Seulement le mien, si je l'utilise sur plusieurs fichiers, il donne une erreur finder, alors que le votre me décompresse tous les fichiers . j'aimerais comprendre :D
     
  20. JacqR

    JacqR Membre confirmé

    Inscrit:
    9 Octobre 2014
    Messages:
    112
    J'aime reçus:
    16
    La différence est dans l'action "Renommer les ....", j'utilise "Remplacer du texte" au lieu de "Nommer un seul élément"

    [​IMG]

    [​IMG]
     

Partager cette page

Chargement...

iOccasion - Achetez un produit Apple d'occasion

refurb Apple