BATCH format erreur

Fermé
LeProgrammeurdu93 Messages postés 18 Date d'inscription samedi 30 septembre 2017 Statut Membre Dernière intervention 17 octobre 2019 - Modifié le 31 déc. 2018 à 15:50
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 - 31 déc. 2018 à 22:10
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 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
31 déc. 2018 à 16:49
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 samedi 30 septembre 2017 Statut Membre Dernière intervention 17 octobre 2019
31 déc. 2018 à 16:57
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 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > LeProgrammeurdu93 Messages postés 18 Date d'inscription samedi 30 septembre 2017 Statut Membre Dernière intervention 17 octobre 2019
Modifié le 31 déc. 2018 à 17:05
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 samedi 30 septembre 2017 Statut Membre Dernière intervention 17 octobre 2019
Modifié le 31 déc. 2018 à 17:13
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 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > LeProgrammeurdu93 Messages postés 18 Date d'inscription samedi 30 septembre 2017 Statut Membre Dernière intervention 17 octobre 2019
Modifié le 31 déc. 2018 à 17:12
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 samedi 30 septembre 2017 Statut Membre Dernière intervention 17 octobre 2019
31 déc. 2018 à 17:15
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 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
31 déc. 2018 à 19:08
Bonjour,

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

1
LeProgrammeurdu93 Messages postés 18 Date d'inscription samedi 30 septembre 2017 Statut Membre Dernière intervention 17 octobre 2019
31 déc. 2018 à 19:46
Ah oui !!! Quel idiot je fais !!! Merci beaucoup !!
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > LeProgrammeurdu93 Messages postés 18 Date d'inscription samedi 30 septembre 2017 Statut Membre Dernière intervention 17 octobre 2019
31 déc. 2018 à 22:10
peux-tu alors marquer ceci comme résolu, via la roue dentée à droite du titre?
0