Arguments/Paramètres en Batch (MS-DOS 6.22)
DjGab21
-
DjGab21 -
DjGab21 -
Bonjour,
Je suis actuellement entrain de programmer un utilitaire en Batch (avec les quelques connaissances que j'ai), mais j'ai un problème sur une ligne.
L'utilisateur doit appeler mon programme Batch avec 2 paramètres:
Fichier.bat param1 param2
Quand je fais un "echo" pour afficher les paramètres (%1% et %2%) le programme affiche bien les deux paramètres passés (qui sont en fait des chemins de fichiers).
Cependant, quand j'utilise les paramètres %1% et %2%, le programme n'en détecte qu'un.
Voici une partie de mon code pour vous aider à visualiser mon problème:
Le problème se situe au passage des paramètres au programme Extract.
Le batch exécute en fait: (dans cet exemple le paramètre 2 vaut "c:\")
Il ne détecte pas le contenu du paramètre 1 qui doit être passé juste après. Il colle juste le chiffre 1 au paramètre utilisé précédemment.
Pouvez-vous m'éclairer et me signaler mon erreur ?
Que me proposez-vous pour remédier à cette erreur ?
Merci d'avance.
Je suis actuellement entrain de programmer un utilitaire en Batch (avec les quelques connaissances que j'ai), mais j'ai un problème sur une ligne.
L'utilisateur doit appeler mon programme Batch avec 2 paramètres:
Fichier.bat param1 param2
Quand je fais un "echo" pour afficher les paramètres (%1% et %2%) le programme affiche bien les deux paramètres passés (qui sont en fait des chemins de fichiers).
Cependant, quand j'utilise les paramètres %1% et %2%, le programme n'en détecte qu'un.
Voici une partie de mon code pour vous aider à visualiser mon problème:
@echo off if %1% == ? goto AIDE extract /e /l %2% %1% goto FIN (suite du code ici)
Le problème se situe au passage des paramètres au programme Extract.
Le batch exécute en fait: (dans cet exemple le paramètre 2 vaut "c:\")
extract /e /l c:\1
Il ne détecte pas le contenu du paramètre 1 qui doit être passé juste après. Il colle juste le chiffre 1 au paramètre utilisé précédemment.
Pouvez-vous m'éclairer et me signaler mon erreur ?
Que me proposez-vous pour remédier à cette erreur ?
Merci d'avance.
A voir également:
- Arguments/Paramètres en Batch (MS-DOS 6.22)
- Parametres de mon ordinateur - Guide
- Fichier batch - Guide
- Paramètres dns - Guide
- 10 commande ms-dos - Guide
- Paramètres de confidentialité - Guide
2 réponses
Bonjour. Je propose ceci :
if "%1" == "?" goto AIDE
extract /e /l %2 %1
goto FIN
Le DOS 6.22 accompagnait Windows 3.11 . Je serais surpris qu'il fonctionne sous Windows 7
if "%1" == "?" goto AIDE
extract /e /l %2 %1
goto FIN
Le DOS 6.22 accompagnait Windows 3.11 . Je serais surpris qu'il fonctionne sous Windows 7
DjGab21
Bonjour, merci de votre réponse. Ce code fonctionne parfaitement ! En effet, je ne sais pas pourquoi j'avais en tête de mettre absolument un "%" derrière le numéro du paramètre. Quoi qu'il en soit, je vous remercie beaucoup.