Creation d un fichier .bat

Fermé
dom9374 Messages postés 6 Date d'inscription lundi 31 décembre 2012 Statut Membre Dernière intervention 2 janvier 2013 - 31 déc. 2012 à 16:34
dom9374 Messages postés 6 Date d'inscription lundi 31 décembre 2012 Statut Membre Dernière intervention 2 janvier 2013 - 2 janv. 2013 à 15:41
Bonjour,
j ai trouve coment formater un disque (pen drive) en utilisant MS DOS
dans la console CMD
on ecrit ce qui suit

diskpart (ouvre le programme de partition de disque)
list disk (affiche la liste des disques presents)
select disk suivit de espace et le nº du disque (choisir le nº selon l'espace en Go)
Clean (ceci supprime toute partition du disque)
create partition primary (ceci cree un partition primaire)
format fs=NTFS quick (formate la particion en NTFS)
assign (assigne un lettre a la partition)
exit (ferme la fenetre ms dos)


-NOTE: pour les disques de moins de 4Go utiliser la comande
format fs=fat32 quick ou fs=fat

je voudrais faire un ficher .bat qui fasse ceci

j ai cherche et comence par


@echo off
diskpart
list disk
set /p NumeroDisque= disque a formater:
selectdisk NumeroDisque

mais le programme s arrete apres le diskpart...

je ne connais pas du tout ce langage et ne sais pas vraiment comment chercher...
merci de votre aide


A voir également:

7 réponses

dom9374 Messages postés 6 Date d'inscription lundi 31 décembre 2012 Statut Membre Dernière intervention 2 janvier 2013
Modifié par dom9374 le 31/12/2012 à 18:26
merci mais pas la moindre ide de ce q uest Code::Block en C++

en cherchant j ai trove un debut de solution
en fait il faut 2 fichier
le premier est un fichier bat et contient :

@echo off
diskpart /s "c:\aaa Diskpart\format.txt"
pause

le second est un script. dans ce cas il s appelle format.txt et se trove dans le repertoire c:\aaa diskpart
et contient les commandes pour le diskpart

list disk : cette commande me donne la liste des disques present et foncccionne

ensuite viennet les erreurs
j ai teste

set /p var=disque a selectioner:
If %var% =0 select disk 0
If %var% =1 select disk 1
If %var% =2 select disk 2
If %var% =3 select disk 3
If %var% =4 select disk 4
If %var% =5 select disk 5
If %var% =6 select disk 6
If %var% =7 select disk 7
If %var% =8 select disk 8
If %var% =9 select disk 9

et la il me dit que les comandes specifiees ne sont pas valides.....
comment puis je creer et gerer une variable dans un sript?
1
dom9374 Messages postés 6 Date d'inscription lundi 31 décembre 2012 Statut Membre Dernière intervention 2 janvier 2013
Modifié par dom9374 le 31/12/2012 à 18:15
merci mais non,
qunad je double clic sur le bat
la fenetre s ouvre avec

discpart>
quand j appuie sur entrer
ca me remet
discpart>
en fait c est comme si une fois ouvert le discpart, il attendait une entree manuelle, et ne prenait plus les lignes suivantes
0
plop,

en fait en batch la condition est fait avec ==

du coup tu dois faire du if-goto

exemple:

:drive_0
select disk 0

:user_drive
set /p drive=numero de volume
if %drive% == 0 (goto :drive_0) else (echo recommence)
goto :user_drive
0
2º no se cuantos discos pueden estar conectados en ese momento...

test si le nombre tapé est bien un nombre avec findstr, sa t'évitera de faire un fichier par volume (ce qui est débile)
0
dom9374 Messages postés 6 Date d'inscription lundi 31 décembre 2012 Statut Membre Dernière intervention 2 janvier 2013
1 janv. 2013 à 16:07
el problema es que si respondo 0 tengo que abrir un script con select disk 0, pero con 1 es select disk 1 etc, no entiendo como hacerlo...
0
--', parles français déjà ....

tu fait une génération de fichier automatique, avec un echo blabla > file_x.txt et voilà
0
dom9374 Messages postés 6 Date d'inscription lundi 31 décembre 2012 Statut Membre Dernière intervention 2 janvier 2013
2 janv. 2013 à 15:41
pardon, je disais que le probleme est que si je repond 0 je dois ouvrir un script qui contient select disk 0 mais si je repond 1 cest select disk 1 etc, je sais pas comment le faire avec un seul fichier

de toutes facon je crois que je vais laisser tomber, c est plus simle de garder les commendes dans un txt, ouvrir la console cmd et le faire a la main, lol
merci pour tout
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dom9374 Messages postés 6 Date d'inscription lundi 31 décembre 2012 Statut Membre Dernière intervention 2 janvier 2013
Modifié par dom9374 le 1/01/2013 à 15:19
hola
gracias, esta parte funciona, pero hace que me pregunto si merece la pena, me explico

de momento tengo 3 ficheros + 1 por disco... son muchos

1º) el bat
@echo off  
diskpart /s "c:\aaa Diskpart\lista.txt"  
:user_drive  
set /p drive=numero de volume  
if %drive% == 0 (goto :drive_0)  
if %drive% == 1 (goto :drive_1)  
if %drive% == 2 (goto :drive_2)  
:formate  
echo cuidado el disco se va a formatear  
diskpart /s "c:\aaa Diskpart\format.txt"  
pause  
exit  
:drive_0  
diskpart /s "c:\aaa Diskpart\select0.txt"  
goto formate  
pause  
:drive_1  
diskpart /s "c:\aaa Diskpart\select1.txt"  
goto formate  
pause  
:drive_2  
diskpart /s "c:\aaa Diskpart\select2.txt"  
goto formate  
pause  

2º fichero: script para hacer la lista de los discos (2ª linea del bat)
list disk

3º fichero: script para formatear

y luego un fichero para cada disco presente
select disc 0

select disc 1

select disc 2

etc
el problema es que
1º tengo que hacer varios scripts diferentes para insertar entre ellos la eleccion del disco
2º no se cuantos discos pueden estar conectados en ese momento...
-1
nikkosdu01 Messages postés 161 Date d'inscription mardi 25 décembre 2012 Statut Membre Dernière intervention 25 juin 2014 20
31 déc. 2012 à 16:36
je crois qu'en faite tu lances le fichier et ensuite tu appuie sur entrée pour exécuter la 2ème ligne puis la 3ème etc..
-2
nikkosdu01 Messages postés 161 Date d'inscription mardi 25 décembre 2012 Statut Membre Dernière intervention 25 juin 2014 20
31 déc. 2012 à 17:31
Ah... donc en faite ton fichier .bat se transformerait en raccourci vers une commande. Je pense qu'il ne faudrait pas faire un fichier .bat mais programmer un fichier avec Code::Block en C++
-2