1 votes

Besoin d'aide avec un petit AppleScript

Je suis sur Yosemite 10.10.4, Mac Mini. J'ai un petit shell Bash script pour lancer Quake3 Arena dans script. Cela fonctionne bien.

#¡/bin/bash
cd Desktop/Quake3ISO
hdiutil mount "Quake 3 Arena.iso"
cd Quake3
wine quake3.exe

Ligne 2 : cd vers le dossier sur mon bureau qui contient l'iso, et aussi les fichiers extraits de l'iso. Je sais que c'est un peu le bazar, mais c'est le seul moyen que j'ai trouvé pour que ça marche.

Ligne 3 : monter l'iso

Ligne 4 : cd dans un dossier à l'intérieur du premier, appelé Quake3

Ligne 5 : exécutez "Wine quake3.exe" qui se trouve dans ce répertoire. (Bureau/Quake3ISO/Quake3)

Donc, en essayant ./quake3.sh on monte l'iso, et on lance le programme sans problème.

Mais... J'essaie de faire la même chose en AppleScript, mais il ne trouve pas le fichier de configuration pour quake3. Il charge l'image, et change de répertoire, exécute Wine et commence quake, mais il ne peut maintenant pas trouver le répertoire de configuration, et peut-être quelques autres fichiers. Le répertoire de configuration se trouve également sous ce dossier (Desktop/Quake3ISO/Quake3/baseq3)

Q3 1.11 win-x86 Nov 24 1999
----- FS_Startup -----
Current search path:
Z:\Users\robert/baseq3

----------------------

Running in restricted demo mode.

----- FS_Startup -----
Current search path:
Z:\Users\robert/demoq3

----------------------
----- CL_Shutdown -----
-----------------------
Couldn't load default.cfg

J'ai oublié d'ajouter. Mon Applescript

tell application "Terminal"
    activate
    do script "cd ~/Desktop/Quake3ISO"
    do script "hdiutil mount ~/Desktop/Quake3ISO/Quake\\ 3\\ Arena.iso"
    delay 5
    do script "cd ~/Desktop/Quake3ISO/quake3"
    do script "wine ~/Desktop/Quake3ISO/quake3/quake3.exe"
end tell

Après quelques expériences supplémentaires, j'ai découvert ce qui suit. Comme d'habitude avec QuakeIII, le CD doit être dans le lecteur. Le monter semble donc régler ce problème. Ensuite, j'avais fait une installation dans le répertoire ~/Desktop/Quake3ISO, mais il y a quelques années, j'avais aussi fait une installation de Wine - qui ne fonctionnait pas. Mais à l'instant, j'ai copié tous les fichiers du dossier ~/Desktop/Quake3ISO/Quake3/baseq3 dans le dossier Wine install dans ~/.Wine/drive_c/Program\ Files/Quake\ III\ Arena/baseq3, et maintenant je peux lancer Quake directement à partir de ce dossier Wine.

   ie
    cd "/Users/robert/.wine/drive_c/Program Files/Quake III Arena"
    wine quake3.exe

et il fonctionne bien.

Je peux également faire la même chose dans le dossier ~/Desktop/Quake3ISO/Quake3.

ie
cd ~/Desktop/Quake3ISO/Quake3
wine quake3.exe

... et il fonctionne bien.

Cela me dit que je dois faire en sorte qu'AppleScript comprenne que la commande à exécuter doit être exécutée dans le répertoire dans lequel elle a été modifiée. De sorte que lorsque le programme cherche ses fichiers de configuration, il utilise ce répertoire comme base, ou répertoire racine et non le répertoire de base Wine ? Je pense ?

1voto

nohillside Points 82672

Chaque do shell script démarre un nouveau shell, donc la commande cd n'a pas d'impact sur la commande suivante. Vous feriez donc mieux d'exécuter

tell application "Terminal"
    activate
    do shell script "cd ~/Desktop/Quake3ISO && hdiutil mount ~/Desktop/Quake3ISO/Quake\\ 3\\ Arena.iso"
    delay 5
    do shell script "cd ~/Desktop/Quake3ISO/quake3 && wine ~/Desktop/Quake3ISO/quake3/quake3.exe"
end tell

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X