Monter une image avec Dism en Batch par clé U

Fermé
Lpareo Messages postés 356 Date d'inscription mardi 4 novembre 2008 Statut Membre Dernière intervention 17 avril 2013 - Modifié par Lpareo le 14/01/2011 à 15:25
Lpareo Messages postés 356 Date d'inscription mardi 4 novembre 2008 Statut Membre Dernière intervention 17 avril 2013 - 14 janv. 2011 à 14:44
Bonjour .

Voila, je suis actuellement en stage d'informatique dans une entreprise, et je dois installer un WDS sur 2008 R2 pour déployer des PC automatiquement. Cette phase est faite, et j'ai besoin d'aide pour un autre problème.

Je dois également préparer une clé USB de boot pour installer une image capturée de Windows 7, au cas où le réseau soit indisponible.

Je dois faire cela en utilisant l'utilitaire DISM pour monter l'image sur un des volumes de l'ordinateur.

En gros, le Master est stocké sur un disque dur externe branché au PC vide. Je branche ma clé USB sur le PC vide, je boot dessus, ca lance un WinPE, et une fenêtre cmd dans laquelle il me demande où je veux installer l'image.

Batchement parlant ca donne :

:volumeinst              
echo Sur quel volume voulez-vous installer le systeme ?              

REM affiche la liste des volumes disponibles (/s = script ; listv.txt contient : list volume (affiche les volumes du pc)              
diskpart /s listv.txt              

REM enregistre variable Volumeinst avec le numero du volume de destination              
set /p Volumeinst= Choix du volume, entrez numero              


echo Vous avez choisi le volume %Volumeinst%.              

REM sélectionne %Volumeinst% (selectv.txt contient : select volume %Volumeinst%)              
diskpart /s selectv.txt              
pause              

Sauf que si je fais le mec qui veut chercher les bugs de programmation, je rentre dans la variable Volumeinst un numéro de volume non présent (y a volumes 0 1 2 et 3, et je dis 5). Et donc à ce moment il va tenter de sélectionner le volume 5, et va me dire

Le volume que vous avez sélectionné n'est pas valide ou n'existe pas              

Et le script continuerait comme si de rien n'était.

Y a-t-il une commande en batch qui permette de faire un truc du style :


Si %Volumeinst% n'existe pas, renvoyer à :volumeinst

Une fois que cette vérification serait faite, il faudrait (après avoir indiqué au batch où se trouve l'image que l'on souhaite installer (pas encore implémenté, mais bientôt) que le %Volumeinst% soit comparé à sa lettre, pour que le Dism puisse faire un

Dism /mount-wim .... mountdir:X:\

(où X = lettre du volume choisi dans %Volumeinst%)

Maintenant, je demande où se trouve l'image, et je dois faire une commande if qui suivrait ce schéma :

:dossier  
dir     
set /p Dossier= Entrez le nom du dossier ou se trouve l'image, ou le nom de l'image :      

Si %Dossier% est un Fichier.wim (enregistrer path dans %pathwim%) sinon   
si %Dossier% est un Repertoire (cd %Dossier%) sinon  
Si %Dossier% est un autre type de fichier (echo Ce n'est ni un dossier ni une image.wim et goto dossier)


Merci.

Aussi, lorsque je mets des
pause
, il les passe souvent (mais pas tout le temps), je dois en mettre 2 à la suite, pourquoi donc ?
A voir également:

1 réponse

HostOfSeraphim Messages postés 6750 Date d'inscription jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016 1 608
14 janv. 2011 à 14:37
Si %Volumeinst% n'existe pas, renvoyer à :volumeinst


if "%Volumeinst%"=="" goto :volumeinst

0
Lpareo Messages postés 356 Date d'inscription mardi 4 novembre 2008 Statut Membre Dernière intervention 17 avril 2013 72
14 janv. 2011 à 14:44
ouais, mais la c'est si rien n'a été entré, désolé, mal écrit ma commande

Si %Volumeinst% n'est pas un volume existant, renvoyer à :volumeinst

en gros, si j'ai mit 5 alors que ya pas 5 dans la liste des volumes
0