Sous-chaines de caractères

Sous-chaines de caractères - Shell/Batch - Programmation

Marsh Posté le 01-01-2008 à 20:29:44    

(Re)Bonjour ^^
J'ai un script batch prenant en entrée le chemin d'un programme à éxécuter (ex: %1="C:/Program Files/Machin/truc.exe" ). Mon problème est donc de séparer cette chaine en 2:
chemin = C:/Program 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 ....

Reply

Marsh Posté le 01-01-2008 à 20:29:44   

Reply

Marsh Posté le 01-01-2008 à 23:25:06    

tout simplement : start "%1"
 
Sinon si tu veux séparer les 2 :
cd %~pd1
start %~nx1

Reply

Marsh 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
Reply

Marsh 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.

Reply

Marsh 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

Reply

Marsh Posté le 03-01-2008 à 18:37:54    

j'ai rien dit, tu a dit start %1

Reply

Marsh 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.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed