Creation d un fichier .bat

dom9374 Messages postés 6 Statut Membre -  
dom9374 Messages postés 6 Statut Membre -
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

7 réponses

  1. dom9374 Messages postés 6 Statut Membre
     
    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
  2. dom9374 Messages postés 6 Statut Membre
     
    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
  3. un_neurone
     
    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
  4. un_neurone
     
    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
    1. dom9374 Messages postés 6 Statut Membre
       
      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
    2. un_neurone
       
      --', parles français déjà ....

      tu fait une génération de fichier automatique, avec un echo blabla > file_x.txt et voilà
      0
    3. dom9374 Messages postés 6 Statut Membre
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. dom9374 Messages postés 6 Statut Membre
     
    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
  7. nikkosdu01 Messages postés 186 Statut Membre 20
     
    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
  8. nikkosdu01 Messages postés 186 Statut Membre 20
     
    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