BATCH format erreur

LeProgrammeurdu93 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
J'essayais de formater une carte SD en utilisant un code qu j'ai fait en batch.
Ce qui m'étonne, c'est qu'en ligne de commande directe, ça marche, mais pas dans un fichier .bat.
Le code est le suivant (oui je sais le code n'est pas propre mais ce n'est pas grave, il est à usage personnel) :


:recommencer
SET /p lecteurcartesd=QUEL EST LE LECTEUR DE LA CARTE SD ? (ecris sous la forme "C:" sans les guillemets)
SET /p reponse=c'est donc %lecteurcartesd% ? (ecris "O" ou "N" sans les guillemets)
if %reponse% == O (
echo OK
goto cbon)
(
echo Alors recommence
goto recommencer )
:cbon
SET /p reponse2=Toutes les donnees contenues dans %lecteurcartesd%\ vont etre perdus. D'accord ? (ecris "O" ou "N" sans les guillemets)
if %reponse% == O (
echo OK
goto cvraimentbon)
(
echo Alors recommencons depuis le debut
goto recommencer )
:cvraimentbon
echo Formatage...
format %lecteurdecartesd% /FS:FAT32 /Q
echo -----------------------
echo [ SUCCES DU FORMATAGE ]
echo -----------------------
pause > nul


Cependant, j'obtiens l'erreur suivante :
Paramètre requis manquant -
Merci d'avance.
A voir également:

2 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, l'erreur me semble évidente. as-tu fait echo de la commande que tu exécutes?
2
LeProgrammeurdu93 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
Je ne comprends pas. Je ne suis pas super fort en batch... Mais tu veux bien dire
echo format %lecteurdecartesd% /FS:FAT32 /Q

Quel est l'utilité de faire ça ? la commande echo ne fait pas qu'afficher un message ?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > LeProgrammeurdu93 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
l'utilité: te faire progresser vers la détection de l'erreur.
tu écris que tu es étonné qu'en ligne de commande directe, ça marche, mais pas dans un fichier .bat.
ton étonnement est bien légitime, et pourrait te conduire à te demander si c'est bien la même commande exécutée dans les deux cas.
0
LeProgrammeurdu93 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
Je ne comprends pas... Pourtant en ligne de commande, je suis la même démarche :
Set lecteurcartesd=d:
format %lecteurcartesd% /FS:FAT32 /Q /X

Où me suis-je donc trompé ?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > LeProgrammeurdu93 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
tu progresses.
pourquoi le D: ou X: devrait-il être présent?
n'hésite pas à ajouter des echo à d'autres endroits dans ton code: c'est ton outil principal pour comprendre ce que fait le code que tu as écrit.
0
LeProgrammeurdu93 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
Eh bien, le D: ou le X: est la variable en soit, definie par set. A tout endroit de mon code, si j'écris %lecteurcartesd%, cela devrait, au "compilement", me le transformer automatiquement en la variable, soit D:...
Toujours aussi perdu
PS: désolé de te déranger, je sais que je suis débutant !!
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
Bonjour,

Ta variable %lecteurcartesd% s'est transformée (dans la commande FORMAT) en %lecteurdecartesd%

1
LeProgrammeurdu93 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
Ah oui !!! Quel idiot je fais !!! Merci beaucoup !!
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > LeProgrammeurdu93 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
peux-tu alors marquer ceci comme résolu, via la roue dentée à droite du titre?
0