IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AppleScript Discussion :

Chemin dossier relatif


Sujet :

AppleScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 17
    Par défaut Chemin dossier relatif
    Salut

    Je me rends fou sur internet pour trouver la façon de déplacer un fichier d'une image disque montée vers un dossier relatif de l'utilisateur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    set source to "Untitled:myfile.ppt"
    set destination to path to "~/Library/Application\\ Support"
     
    tell application "Finder"
    	move file source to folder destination with replacing
    end tell
    Ca me renvoie l'erreur -1700 comme quoi il est impossible de rendre en type constant ~/Library/Application\\ Support

    Si vous pouviez m'aider, le script est bien sur un exemple

    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 17
    Par défaut Résolu
    Jai réussi en faisant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    set source to "Untitled:myfile.ppt"
     
    set home to path to home folder
    set receiver to alias ((home as text) & "Library:Application Support")
     
    tell application "Finder"
    	move file source to folder receiver with replacing
    end tell
    Par contre, ce faisant, le chemin de l'image disque sera toujours bonne ? Ou bien faut il lui donner une variable relative également de type /volumes/untitled ?

    Merci

  3. #3
    Membre émérite

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 606
    Par défaut
    Bonjour,
    Il y a encore plus simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    set Destination to (path to application support from user domain) as string
     
    set Source to "Untitled:myfile.ppt"
     
    tell application "Finder" to duplicate Source to Destination with replacing
    L'avantage est que ce chemin Destination fonctionnera toujours.
    Le "duplicate" à la place du "move" est aussi plus sûr, dans le cas ou le fichier se retrouverai sur le même disque.

    Pour la variable Source, j'ai l'impression que tu cherches à installer toujours le fichier myfile à partir d'un volume séparé type clé USB (genre installation sur plusieurs postes à la chaîne !).
    Si je ne me trompe pas, tu as beaucoup plus élégant et sûr pour faire ce genre de chose :

    1) tu changes l'affectation de la variable Source par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set Source to ((path to me) as string) & "Contents:Resources:myfile.ppt"
    2) tu enregistres ce script sous forme application (voir en bas du dialogue "Enregistrer sous…")
    3) dans l'application ainsi créée, click droit, "Ouvrir le paquet" et tu viens mettre ton fichier myfile.ppt dans le sous dossier Resources du sous dossier "Contents" du paquet.

    Ainsi, le script de ton application contient toujours ton fichier lui-même et quelque soit la configuration du Mac sur lequel tu installes, quelque soit le nom de la clé ou du volume (via réseau par exemple), le script fonctionne toujours !! Tu peux même l'envoyer par email à tes utilisateurs en leur demandant de simplement double cliquer dessus pour installer !

    Cordialement

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 17
    Par défaut Nickel mais
    Salut PBELL

    Ouais, tu as raison c'est plus propre ! ET le fait qu'il soit dans l'application est top !

    Par contre, le probleme c'est que je veux l'envoyer dans un autre dossier que application support sur tous ces ordinateurs, à savoir dans le dossier Screen Savers. Donc en chemin variable pour qu'il soit accessible.

    Application support et d'autres dossiers types ça marche, mais Screen Savers je n'y accède pas :s

    Merci pour ton aide

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 17
    Par défaut Résolu
    Non, c'est bon, ça fonctionne aussi avec Screen Savers, autant pour moi !


    Merci, bonne journée

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 17
    Par défaut Code complet mixé
    Rebonjour, au fait, je me rends compte que j'ai dut faire un mix des 2 codes pour que cela fonctionne chez moi.

    Je le mets au cas où quelqu'un le voudrais, car j'en ai vu plusieurs qui cherchaient à faire ça sur le web.

    1 - Taper le code suivant dans Applescript en remplaçant vos valeurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    set Source to ((path to me) as string) & "Contents:Resources:myFile.doc"
     
    set home to path to home folder
    set receiver to alias ((home as text) & "Library:Screen Savers")
     
    tell application "Finder"
    	move file Source to folder receiver with replacing
    end tell
    2 - Enregistrer le script sous forme d'application

    3 - Mettre le fichier myFile.doc dans le dossier ressources du dossier contents accessible en faisant un clic droit 'afficher le paquet"

    Merci encore à PBELL pour son aide

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 17
    Par défaut Ajouter un check if folder exists
    Salut, je reviens sur le code car j'ai un autre soucis.

    Je voudrais juste mettre un check if folder exist avant de faire la copie et d'en creer un au besoin mais ça ne marche pas. Il me renvoie que l'alias n'existe pas.

    Voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
     
    set Source to ((path to me) as string) & "Contents:Resources:myfile.saver"
     
    set home to path to home folder
    set receiver to alias ((home as text) & "Library:Screen Savers")
     
    tell application "Finder"
     
    	activate
     
    	if not (exists folder receiver) then
    		make new folder at home with properties {name:receiver}
    		move file Source to folder receiver with replacing
    		display dialog "Screensaver folder was created and the screensaver was installed" buttons {"OK"} default button 1
    	else
    		move file Source to folder receiver with replacing
    		display dialog "Screensaver is installed now" buttons {"OK"} default button 1
     
    	end if
     
    end tell
    J'ai essayé également en ajoutant as text dans {name:receiver as text} mais j'obtiens la même chose :s

    Si quelqu'un avait un idée ?

    Merci

Discussions similaires

  1. Chemin absolu, relatif des fichiers
    Par Anium dans le forum C++
    Réponses: 10
    Dernier message: 12/06/2008, 18h54
  2. Comment récupérer le chemin en relatif d'un fichier
    Par pascalcom dans le forum VBA Access
    Réponses: 1
    Dernier message: 07/06/2007, 09h26
  3. VBA excel Par bouton parcourir prendre chemin dossier
    Par raymoundo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/01/2007, 12h37
  4. Réponses: 2
    Dernier message: 24/05/2006, 20h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo