Re: [AS] Un script pour renommer un fichier

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Madert Pascal via Applescript_fr
Date:  
À: La liste AppleScript Francophone
CC: Madert Pascal
Sujet: Re: [AS] Un script pour renommer un fichier
Merci Yvan et merci Jacques,

Super tes conseils Yvan.
J'ai bien avancé.
Et grâce à l'exemple de Jacques, je l'ai pratiquement fini.

on open fileName -- vérification de la nature du paramètre
    if class of fileName is list then set fileName to first item of fileName
    set filePath to fileName as text -- retourne le chemin d'accès Hfs
    tell application "Finder"
        set theFileName to name of fileName
        set theFilePath to fileName as string
    end tell

    
    tell application "Microsoft Excel"
        activate
        open fileName
        set x to value of cell "C2"
        set NewFileName to x & "-" & theFileName
        set L to length of theFilePath
        set R to 0 as integer
        repeat with i from 1 to L
            if character i of theFilePath = ":" then
                if R < i then
                    set R to i
                end if
            end if
        end repeat

        
        set R to R - 1
        set chemin to text from character 1 to R of theFilePath
        set chemin2 to chemin & ":" & NewFileName
        do shell script "mv -n " & quoted form of POSIX path of theFilePath & space & quoted form of POSIX path of chemin2
    end tell
end open



Pascal


> Le 05 mai 2021 à 20:30, Jacques Piotrowski via Applescript_fr <applescript_fr@???> a écrit :
>
>
> Bonjour, voici un petit script pour extraire et afficher diverses informations sur un fichier. Si cela peut servir :
>
>
> set ObjetChoisi to choose file with prompt "Choisissez un fichier quelconque"
>
> get the info for the ObjetChoisi
> set useMe to the result
>
> get the name of useMe
> set w_name to the result as string
> display dialog ("name: " & w_name) buttons {"OK", "Annuler"} default button 1 with icon note
>
> set w_alias to ObjetChoisi as string
>
> display dialog ("alias: " & w_alias) buttons {"OK", "Annuler"} default button 1 with icon note
>
> set L to length of w_alias
> set R to 0 as integer
> repeat with i from 1 to L
> if character i of w_alias = ":" then
> if R < i then
> set R to i
> end if
> end if
> end repeat
>
> set R to R - 1
> set chemin to text from character 1 to R of w_alias
> display dialog ("last delimiter: " & R) buttons {"OK", "Annuler"} default button 1 with icon note
> display dialog ("chemin: " & chemin) buttons {"OK", "Annuler"} default button 1 with icon note
>
> get the file type of useMe
> set wfiletype to the result
> display dialog ("file type: " & wfiletype) buttons {"OK", "Annuler"} default button 1 with icon note
>
> get the file creator of useMe
> set wfilecreator to the result
> display dialog ("file creator: " & wfilecreator) buttons {"OK", "Annuler"} default button 1 with icon note
>
> get the creation date of useMe
> set wcreationdate to the result
> display dialog ("creation date: " & wcreationdate) buttons {"OK", "Annuler"} default button 1 with icon note
>
> get the modification date of useMe
> set wmodificationdate to the result
> display dialog ("modification date: " & wmodificationdate) buttons {"OK", "Annuler"} default button 1 with icon note
>
> get the size of useMe
> set wSize to the result as integer
> set wSize to (wSize / 1024) & " Ko" as string
> display dialog ("Size: " & wSize) buttons {"OK", "Annuler"} default button 1 with icon note
>
> Cdt
> PJ
> -----------------------------------
> ATTENTION : Ce message est protégé par les règles relatives au secret des correspondances. Il peut en outre contenir des informations à caractère confidentiel ou protégées par différentes règles et notamment le secret des affaires. Il est établi à destination exclusive de son destinataire. Toute divulgation, utilisation, diffusion ou reproduction (totale ou partielle) de ce message, ou des informations qu'il contient, doit être préalablement autorisée. L'émetteur décline toute responsabilité au titre de ce message s'il a été modifié ou falsifié. Si vous n'êtes pas destinataire de ce message, merci de le détruire immédiatement et d'avertir l'expéditeur de l'erreur de distribution et de la destruction du message. Toutes divulgations relèvera de la commission Informatique et Liberté ainsi que des articles 226-15 et 432-9 du code pénal.
> Le 05/05/2021 à 19:05, Yvan KOENIG via Applescript_fr a écrit :
>>
>>> Le 5 mai 2021 à 18:31, Madert Pascal via Applescript_fr <applescript_fr@???> a écrit :
>>>
>>> Merci Yvan
>>> Oui, dans cet exemple, "y" n'est pas utilisé, mais ça va venir. Il va falloir changer le nom du fichier (donc de "y") ensuite.
>>> C'est pour cela que j'ai besoin de récupérer le chemin et le nom pour pouvoir le modifier avec les valeurs de certaines cellules.
>>> J'ai modifié avec set y to name of (first item of filename) comme proposé, mais j'ai le même message.
>>> C'est un seul fichier excel avec 1 seule feuille que je pose sur le Droplet.
>>> J'ai enlevé le "sélect", ça fonctionne bien, c'est plus rapide.
>>>
>>> Pascal
>> Je ne suis pas certain de ce que vous souhaitez obtenir
>>
>> Je suppose qu'il serait possible d'exécuter:
>>
>> on open fileName
>> -- vérification de la nature du paramètre
>> if class of filename is list then set filename to first item of filename
>> set filePath to filename as text -- retourne le chemin d'accès Hfs
>> tell application "Finder"
>>     set theFileName to name of filename
>> end tell

>>
>> tell application "Microsoft Excel"
>>         activate
>>         open fileName
>>         set x to value of cell "C2"
>>     end tell
>> end open

>>
>> Yvan KOENIG (VALLAURIS, France) mercredi 5 mai 2021 19:05:43
>> _______________________________________________
>> Applescript_fr mailing list
>> Applescript_fr@???
>> http://listes.patpro.net/mailman/listinfo/applescript_fr
>> .
>>
> _______________________________________________
> Applescript_fr mailing list
> Applescript_fr@???
> http://listes.patpro.net/mailman/listinfo/applescript_fr


_______________________________________________
Applescript_fr mailing list
Applescript_fr@???
http://listes.patpro.net/mailman/listinfo/applescript_fr