(Re)Bonjour ^^
J'ai un script batch prenant en entrée le chemin d'un programme à éxécuter (ex: %1="CProgram Files/Machin/truc.exe" ). Mon problème est donc de séparer cette chaine en 2:
chemin = CProgram Files/Machin/
prog= truc.exe
pour pouvoir l'éxécuter:
cd chemin
start truc.exe
(c'est la seule manière que je connais de lancer un programme, y en a-t-il une directe ?)
Enfin bref, je n'arrive pas à trouver comment découper à droite du dernier slash ....
Publicité
Posté le 01-01-2008 à 20:29:44
blastkiller
Posté le 01-01-2008 à 23:25:06
tout simplement : start "%1"
Sinon si tu veux séparer les 2 :
cd %~pd1
start %~nx1
Coolnut
Posté le 02-01-2008 à 18:05:38
tu a fait une erreur blast killer, c'est pd1 mais dp1, donc, pour récupérer le chemin c'est: %~dp1 Et pour le chemin c'est: %~nx1, mais ca blast killer te la déja dit
Message édité par Coolnut le 02-01-2008 à 18:08:44
primo411
Posté le 03-01-2008 à 18:34:28
Bonjour ! Merci beaucoup pour vos indications j'aurais jamais trouvé !
Petite remarque pour blastkiller: après vérifications la commande start "%1" ne marche pas chez moi, elle se contente d'ouvrir un nouveau terminal.
Coolnut
Posté le 03-01-2008 à 18:37:25
%1 n'est pas une commande, c'est une variable qui récupére le paramétre passer au batch
Coolnut
Posté le 03-01-2008 à 18:37:54
j'ai rien dit, tu a dit start %1
primo411
Posté le 03-01-2008 à 19:12:45
Vous foulez pas j'ai trouvé...
C'est tout con c'est juste qu'il faut écrire les noms de dossier en mode MS Dos: Program Files => Progra~1
La syntaxe exacte est donc start %1 sans les guillemets.