[batch MS-Dos] parametres vides et guillemets

Résolu/Fermé
ind57 Messages postés 9 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 3 mai 2017 - 29 juin 2007 à 17:04
ind57 Messages postés 9 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 3 mai 2017 - 2 juil. 2007 à 12:01
Bonjour,
J'aimerais savoir si quelqu'un a déjà eu affaire à des paramêtres d'un batch dos qui sont ou non entre guillemets.
Je souhaite utiliser un attribut passé en paramêtre de ma commande Dos dans celle-ci.
Ce paramêtre ne doit pas être vide (il doit être présent), c'est ce test que je n'arrive pas à coder...
J'ai essayer ceci:
IF "%1"=="" THEN ...

Si la commande est:
run.bat

Je tombe bien dans le else
Si la commande est:
run.bat coucou

Je ne tombe pas dans le else et tout ce déroule comme prévu
Si la commande est:
run.bat "c:/test avecEspace"

J'ai une erreur lors de l'interprétation du batch:
avecEspace""=="" était inattendu.

Je ne vois vraiment pas comment faire...
Merci d'avance pour vos réponses,
ind57

3 réponses

ind57 Messages postés 9 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 3 mai 2017 1
2 juil. 2007 à 12:01
Résolu ailleurs, avec ça je sais exactement ce qui est passé en paramètre:
https://www.computerhope.com/forum/index.php/topic,38195.0.html

%~1
au lieu de
%1
permet de récupérer le paramètre sans les guillemets s'il y en a, fonctionne uniquement à partir de 2000/XP


bonne journée,
ind57
1
jee pee Messages postés 39582 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 avril 2024 9 225
29 juin 2007 à 17:07
bonjour,

le pb ce sont les guillements : " quand il remplace %1 ils y sont aussi.

essaie avec des simples cotes : run.bat 'c:/test avecEspace'

cdt
0
ind57 Messages postés 9 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 3 mai 2017 1
29 juin 2007 à 17:14
Merci pour ta réponse,
Avec des simples cotes, Dos croit qu'il y a deux paramêtres:
ECHO %1
'c:/test

...???...
0
jee pee Messages postés 39582 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 avril 2024 9 225
29 juin 2007 à 17:29
Si tu n'as qu'un seul paramètre, utilise ECHO %* , et tu peux lancer proc.bat C:\mes documents (sans les guillemets)
0