Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
Script pour media d'amorce Partitionnement/installation OS
Auteur Message
Répondre en citant
Message Script pour media d'amorce Partitionnement/installation OS 
Bonsoir,

J'ai besoin de faire un scripte qui démarre sur mon live OS WINPE.

Dérouler du script

    Choisir la taille de son disque dur

120Go 250GO 1To 2To
    Partitionnement en fonctione de la taille du disque dur renseigné

120 et 250
1 partition qui prend la totalité du disque
1To et 2TO
2 partitions de 50Go
    Choix du disque cible


    Le choix de l'OS a installer w7,w8,w10


Voila ou je suis bloqué,

J'aimerais faire une fonction choice mais je n'ai pas compris comment l utiliser

J'aimerais afficher le résultat de liste disk de diskpart dans un echo mais je ne sais pas comment faire

Je risque d’être bloqué pour les installations des OS mais je préfère le faire pas a pas.En cherchant je suis tombé sur la commande dism mais je n'ai pas compris comment l'utiliser et les wim non plus.

La parti avec diskpart a la fin, je dois encore ajouter des lignes avec des redirecteurs > puis >> pour crée le fichier cfg de diskpart.

Code:

@echo off
cls
:tailleHDD

echo Quelle capacite de disque dur avez vous ? ;
echo 120Go ;
echo 250Go;
echo 1000Go ;
echo 2000Go;

set /P td=entrez la capacite du disque : ;

if %td%==120 goto partition
if %td%==250 goto partition
if %td%==1000 goto partition
if %td%==2000 goto partition

echo Mauvaise saisie
goto tailleHDD

:partition
echo Partition
diskpart < diskpart_run.txt
goto fin;

:fin



Edit 29/03/17

J'ai modifier le code en ajoutant la partie pour la partitionnement.

Le problème est le suivant:
Le script plante après avoir rentré après le goto partition, vous auriez pas

J'ai ajouter REM devant le commande "diskpart /s cfg_dsikpart.txt" pour évitez les dommages.


Code:

@echo off
cls

:tailleHDD

echo Quelle capacite de disque dur avez-vous ?
echo 120Go
echo 250Go
echo 1000Go
echo 2000Go

set /P td=entrez la capacite du disque en Go ex: 120 :

if %td%==120 goto partition
if %td%==250 goto partition
if %td%==1000 goto partition
if %td%==2000 goto partition

echo Mauvaise saisie
goto tailleHDD

:partition

if %td% LEQ  250 goto part1
if %td% LEQ 2000 goto part2


:part1

echo sel disk 1 > cfg_diskpart.txt
echo creat part primary >> cfg_diskpart.txt
echo format fs=ntfs quick label=OS >> cfg_diskpart.txt
echo assign >> cfg_diskpart.txt
echo exit >> cfg_diskpart.txt
echo "creation de cfg_diskpart pour une partition terminé"
pause
REM diskpart /s cfg_diskpart.txt
goto fin

:part2
echo sel disk 1 > cfg_diskpart.txt
echo creat part primary size=50 >> cfg_diskpart.txt
echo format fs=ntfs quick label=OS >> cfg_diskpart.txt
echo assign >> cfg_diskpart.txt
echo creat part primary size=50 >> cfg_diskpart.txt
echo format fs=ntfs quick label=Data >> cfg_diskpart.txt
echo assign >> cfg_diskpart.txt
echo exit >> cfg_diskpart.txt
echo "creation de cfg_diskpart pour 2 partition terminé"
pause
REM diskpart /s cfg_diskpart.txt
goto fin

:fin




Edit 30/03/17

Ce code est fonctionnel pour la partie formatage et partitionnement.

Par contre j'ai vraiment l'impression de faire du bricolage mais quand a faire apparaitre le résultat de la commande "diskpart liste disque" dans un echo.

J'ai aussi un deuxième gros problème, impossible de pouvoir envoyer la valeur d'une variable par exemple:
Code:

echo creat part primary size=%td% >> cfg_diskpart.txt

Je me retrouve avec ça dans mon fichier :
Code:

creat part primary size=


Quelqu'un sait faire ?


Code:


@echo off
cls

:tailleHDD

echo Quel capacite de disque dure avez vous ?
echo 120Go
echo 250Go
echo 1000Go
echo 2000Go

set /P td=entrez la capacite du disque en Go ex: 120 :

if %td%==120 goto partition
if %td%==250 goto partition
if %td%==1000 goto partition
if %td%==2000 goto partition

echo Mauvaise saisie
goto tailleHDD

:partition

if %td% LEQ 250 goto part1
if %td% LEQ 2000 goto part2


:part1

echo sel dis 1 > cfg_diskpart.txt
echo clean >> cfg_diskpart.txt
echo creat part primary >> cfg_diskpart.txt
echo format fs=ntfs quick label=OS >> cfg_diskpart.txt
echo assign >> cfg_diskpart.txt
echo exit >> cfg_diskpart.txt
echo "creation de cfg_diskpart pour une partition terminé"
pause
diskpart /s cfg_diskpart.txt
goto fin


:part2

echo sel dis 1 > cfg_diskpart.txt
echo clean >> cfg_diskpart.txt
echo creat part primary size=50000 >> cfg_diskpart.txt
echo format fs=ntfs quick label=OS >> cfg_diskpart.txt
echo assign >> cfg_diskpart.txt

echo creat part primary size=50000 >> cfg_diskpart.txt
echo format fs=ntfs quick label=Data >> cfg_diskpart.txt
echo assign >> cfg_diskpart.txt
echo exit >> cfg_diskpart.txt
echo "creation de cfg_diskpart pour 2 partition terminé"
pause
diskpart /s cfg_diskpart.txt
pause
goto fin

:fin





Merci de votre aide



Dernière édition par lelouch le Dim 9 Avr 2017 - 22:55; édité 1 fois
Skype
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Script pour media d'amorce Partitionnement/installation OS 
EDIT du 30/03

As-tu bien vérifié que ta variable a bien été déclarée?

(je peux pas trop t'aider car dans ton code je vois
Code:
echo creat part primary size=50000 >> cfg_diskpart.txt
au lieu de
Code:
echo creat part primary size=%td% >> cfg_diskpart.txt





______________________________________________________


cliquer sur un des liens n'est pas dangereux
Ancien site,Nouveau site
Mon site de scan
Vous êtes le
visiteur
Chaine Youtube:
Visiter le site web du posteur Skype
Répondre en citant
Message Script pour media d'amorce Partitionnement/installation OS 
Bonsoir Logan,

Effectivement, j'ai modifier le code, j'ai abandonné l'idée d'une variable car le partitionnement est près déterminer.

Par contre quelqu'un aurait une idée pour afficher le résultat de la commande list disk de diskpart dans le bat ?

Nouveau code

Code:

@echo off
cls

:tailleHDD

echo Quelle capacite de disque dur avez vous ?
echo 120Go, 250Go, 1000Go, 2000Go ?

set /p td=

if %td%==120 goto partition
if %td%==250 goto partition
if %td%==1000 goto partition
if %td%==2000 goto partition

echo Mauvaise saisie
goto tailleHDD

:partition

if %td% LEQ 250 goto part1
if %td% LEQ 2000 goto part2


:part1

echo sel dis 1 > cfg_diskpart.txt
echo clean >> cfg_diskpart.txt
echo creat part primary >> cfg_diskpart.txt
echo format fs=ntfs quick label=OS >> cfg_diskpart.txt
echo assign letter=n >> cfg_diskpart.txt
echo exit >> cfg_diskpart.txt
echo "creation de cfg_diskpart pour une partition termine"
pause
diskpart /s cfg_diskpart.txt
goto COS


:part2

echo sel dis 1 > cfg_diskpart.txt
echo clean >> cfg_diskpart.txt
echo creat part primary size=50000 >> cfg_diskpart.txt
echo format fs=ntfs quick label=OS >> cfg_diskpart.txt
echo assign letter=n >> cfg_diskpart.txt

echo creat part primary size=50000 >> cfg_diskpart.txt
echo format fs=ntfs quick label=Data >> cfg_diskpart.txt
echo assign letter=m >> cfg_diskpart.txt
echo exit >> cfg_diskpart.txt
echo "creation de cfg_diskpart pour 2 partition terminé"
pause
diskpart /s cfg_diskpart.txt
pause
goto COS

:COS
echo "Quel OS ?"
echo "Taper: 7 pour Windows 7, 8 pour Windows 8, 10 pour Windows 10"
set /p os=

if %os%==7 then wim=w7.wim
if %os%==8 then wim=w8.wim
if %os%==10   then wim=w10.wim
if %os%=nul

rem Code à compléter....

:FIN




Merci



Skype
Répondre en citant
Message Script pour media d'amorce Partitionnement/installation OS 
Bonjour,
en ce qui concerne la commande diskpart,je en la connais pas donc je ne peux pas t'éclairer.
Ta question est bien "afficher le résultat de la commande mais rien ne s'affiche dans la console (ni dans un fichier TXT)".Si c'est ce cas,Tu ne peux pas faire grand chose.

Voici un code corrigé et légèrement optimisé :

Code:
@echo off
cls
 
:tailleHDD
 
echo Quelle capacite de disque dur avez vous ?
echo 120Go, 250Go, 1000Go, 2000Go ?
 
set /p td=
 
if %td%==120 goto partition
if %td%==250 goto partition
if %td%==1000 goto partition
if %td%==2000 goto partition
 
echo Mauvaise saisie
goto tailleHDD
 
:partition
 
if %td% GRT 250 goto part2

:part1
(
echo sel dis 1
echo clean
echo creat part primary
echo format fs=ntfs quick label=OS
echo assign letter=n
echo exit
)> cfg_diskpart.txt
echo "creation de cfg_diskpart pour une partition termine"
pause
diskpart /s cfg_diskpart.txt
goto COS
 
 
:part2
(
echo sel dis 1
echo clean
echo creat part primary size=50000
echo format fs=ntfs quick label=OS
echo assign letter=n
echo creat part primary size=50000
echo format fs=ntfs quick label=Data
echo assign letter=m
echo exit
)> cfg_diskpart.txt
echo "creation de cfg_diskpart pour 2 partition terminé"
pause
diskpart /s cfg_diskpart.txt
pause

 
:COS
echo "Quel OS ?"
echo "Taper: 7 pour Windows 7, 8 pour Windows 8, 10 pour Windows 10"
set /p os=
 
if %os%==7 wim=w7.wim
if %os%==8 wim=w8.wim
if %os%==10 wim=w10.wim
if not %os% equ 7 if not %os% equ 8 if not %os% equ 10 echo mauvais choix&goto COS
 
rem Code �  compléter....Je ne sais pas faire...
 
:FIN





______________________________________________________


cliquer sur un des liens n'est pas dangereux
Ancien site,Nouveau site
Mon site de scan
Vous êtes le
visiteur
Chaine Youtube:
Visiter le site web du posteur Skype
Répondre en citant
Message Script pour media d'amorce Partitionnement/installation OS 
Bonsoir,

Merci pour ton optimisation Logan T, pour le reste du code j'ai réussie à le compléter jusqu’à la fin.

Il reste juste à l’optimiser comme tu-as pu le faire, je posterai la version final d'ici quelque jours.

Merci à tous pour votre aide Wink



Skype
Répondre en citant
Message Script pour media d'amorce Partitionnement/installation OS 
Sujet résolu ?




______________________________________________________


cliquer sur un des liens n'est pas dangereux
Ancien site,Nouveau site
Mon site de scan
Vous êtes le
visiteur
Chaine Youtube:
Visiter le site web du posteur Skype
Message Script pour media d'amorce Partitionnement/installation OS 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch