Arguments/Paramètres en Batch (MS-DOS 6.22) [Fermé]

Signaler
-
 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:
@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.


2 réponses

Messages postés
2923
Date d'inscription
dimanche 13 août 2006
Statut
Membre
Dernière intervention
23 juin 2013
832
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
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.
Messages postés
18246
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
21 juillet 2021
5 329
hello
essaye avec
extract /e /l %2 %1