[RÉSOLU] Script : injection de texte dans un fichier
14 sujets de 1 à 14 (sur un total de 14)
-
Bonjour à tous,
Actuellement en train d’essayer de compléter l’article sur UAE disponible sur Obligement, je me confronte à un souci pour ce qui est de l’automatisation du lancement des jeux CD32 en ISO.
En effet, j’ai besoin de spécifier dans le fichier de config d’UAE le nom de volume de l’ISO… Je voulais passer par un script mais je vous avoue que je bloque.
J’ai trouvé une commande sur Aminet, GetVolumeName, qui me donne le nom de volume de mon device et que je balance dans un fichier ram:T/nomvolume.txt mais après, je cherche comment récupérer ce nom et le balancer dans le fichier .conf (en remplacement d’un autre nom ou alors en l’insérant dans le fichier au milieu d’une phrase).
Si quelqu’un a une idée, je suis preneur. Et on peut aussi utiliser autre chose que GetVolumeName, évidemment.
Merki !
—
/me a réussi à bien avancer mais reste bloqué avec ce souci… Sinon, faudra « modifier » à la mano, ce qui le fait moins.Only Amiga makes it possible !
hello battounet 😉
UAE sur PC/MAC ou Amiga NG?
/me répond, c’est juste pour faire avancer le schmilblick
1 A500 2mo, 1 A500 512ko +ACA500+, 1 A 1200 quasi neuf, 1 Atari 520Ste 4mo + UltraSatan dual, 1 Falcon030 avec DFB1X , 1 MSX2 8235 avec Carnivore2, 1 MSX28250 (fmstéréopack, music mode, MegaFlashRom et quelques D7 et KTouche ).
maxime perpétuelle : si je cours en zigzag ce n'est pas pour éviter le balles, mais les c..s, et si un cachalot vient sur ton babord, il est prioritaire, sur tribord aussi... (B.M.)JiDeWe : C’est bien, pour le moment, pour MorphOS (mais ce sera valable pour tout ce qui utilise E-UAE en sachant que les scripts ne fonctionneront que sous AmigaOS/MorphOS et éventuellement AROS, en sachant que sous OS4, RunInUAE fait déjà le job et inscrit bien le nom de volume des ISO dans le fichier de conf…).
Bref, j’espère pouvoir réussir à faire ça…
Pour le moment, ça fonctionne nickel avec des jeux CD (pour les ISO, faut se palucher le fichier de conf’ à la mano…).
—
/me y a déjà passé quelques soirs…Only Amiga makes it possible !
AdminOui et pense à vacciner le disque dur (ou le SSD) pendant que tu y es 😉
Avec la commande « info HD0: » et en retravaillant la sortie avec quelques lignes d’Arexx.
Sinon, des programmeurs peuvent te faire un programme ad-hoc en quelques minutes.
AdminVoici la tronche du fichier cd32.conf :
filesystem2=ro,CD0:NOMDEVOLUMEDELISO:ISO0:,1
kickstart_rom_file=work:utils/UAE/Roms/cd32.rom
kickstart_ext_rom_file=work:utils/UAE/Roms/cd32.ext
flash_file=work:utils/UAE/Roms/nvram.nvr
chipmem_size=4
chipset=aga
fastmem_size=8
show_leds=true
immediate_blits=no
cpu_speed=max
cpu_type=68020
cpu_compatible=false
cpu_cycle_exact=false
blitter_cycle_exact=false
cachesize=8192
comp_optimize=yes
comp_constjump=yes
comp_trustbyte=indirect
comp_trustword=indirect
comp_trustlong=indirect
floppy0type=-1
floppy1type=-1
gfx_framerate=1Il faut pouvoir remplacer le « NOMDEVOLUMEDELISO » par le nom de volume de l’ISO justement ^^
J’avoue que je sèche mais suis preneur de toute astuce ou possibilité de le faire via script (dos ou rexx).
—
/me a cherché des exemples et autres mais n’a pas trouvé…Only Amiga makes it possible !
Si sed est installé :
[code]sed -e « s/NOMDEVOLUMEDELISO/$nomvolume/g » ram:cd32.conf >ram:cd32.conf.modifié[/code]
EDIT : J’ai modifié un peu la ligne de commande, parce qu’apparemment pour que cela fonctionne il est plus facile d’utiliser une variable plutôt que [code]ram:T/nomvolume.txt[/code]
Donc avant la ligne sed ci-dessus, ton script doit par exemple comporter la commande :
[code]GetVolumeName_et_ses_arguments >ENV:nomvolume[/code]
Ball000 : Merci, ça ressemble bien à ce que je souhaite faire !
Reste à voir pour Sed qui est dispo sur la Minette en version 68k et OS4 mais pas MorphOS. En espérant que la version 68k fonctionne sous MorphOS !
—
/me va tester ça ce week-end ! 😛Only Amiga makes it possible !
bonjour !
Purée cela m’intéresse ca…. je cherchais justement quelque chose pour ajouter une ligne dans un fichier.
En gros, je cherche à faire un installer de NETFS et il y a pas mal de chose à ajouter dans les fichiers de MorphOS.
En tout cas je vais chercher aussi de mon coté sur ce sujet.
Mes confs : IMac G5 2.1, PowerBook G4 17 1.5 et PowerMac G5 2.7
Mes ports sur MOSVictoire !
En combinant GetVolumeName, sed (que ce soit celui du SDK MorphOS ou le sed en version 68k disponible sur Aminet, cela fonctionne avec les deux) et IsInserted (un autre petit programme sur Aminet), j’ai réussi à faire ce que je voulais ! Enfin ! ^^
IsInserted vérifie qu’il y a bien quelque chose dans IS0O: (sans lui, si je mettais un « IF EXISTS ISO0: » et qu’il n’y avait rien, j’avais un message d’erreur, ce qui est un peu couillon).
Du coup, si IsInserted détecte bien quelque chose dans ISO0:, alors le script va lancer getvolumename puis sed (merci Ball000 !) et enfin UAE avec le fichier de conf’ qui va bien.
Si rien n’est trouvé dans ISO0: par IsInserted, alors on zappe le début et on ne lance que UAE CD32 avec le fichier de conf’ normal, ce qui permet de booter alors sur le vrai CD inséré dans le lecteur CD (ou s’il n’y en a pas, on a l’animation de boot de la CD32) !J’ai mis le script dans les mimetypes d’Ambient, dans ceux de la globaldevice (je ne vois pas où le mettre d’autre…) et rulez !
Merci à tous !
Voici la tronche dudit script !
C:IsInserted ISO0: IF NOT WARN c:GetVolumeName ISO0: short >env:nomvolume c:sed -e "s/NOMDEVOLUME/$nomvolume/g" work:Utils/UAE/Conf/CD32.conf >ram:cd32.conf run >nil: Work:Utils/UAE/e-uae -f ram:cd32.conf -0 ELSE run >nil: Work:Utils/UAE/e-uae -f Work:Utils/UAE/conf/cd32.conf -0 ENDIF
—
/me n’est pas mécontent d’avoir réussi à le faire ! ^^Only Amiga makes it possible !
14 sujets de 1 à 14 (sur un total de 14)
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Général › [RÉSOLU] Script : injection de texte dans un fichier