Batch – Exporter une configuration Windows

Partie 2 : Exporter Configuration Windows

Dans cette deuxième partie je vais traiter de l’export de la configuration de Windows toujours en batch et avec une gestion d’erreurs.
Le code suivant vous permettra, d’exporter la liste des commandes DOS disponiblent, vos variables d’environnements.
Ceci est bien entendu un exemple de script, je cherche uniquement via ce code à expliquer les syntaxes ou proposer une aide à l’analyse du batch avec une gestion d’erreurs.
Le batch est relativement complet, très simple d’utilisation, facile à comprendre et à apprendre.

Comme sur l’article précédent je POST le code Brute ci-dessous. je le détails un peut plus bas.

@echo off
FOR /f "delims=" %%a in (liste.txt) do echo %%a
echo.
// CHANGEMENT DU FOND
color 1F
// Definie une variable
SET /p r=Ceci est le p//ier lancement (o/n) ?
IF %r% == n (goto fin) ELSE (
goto debut
)
:debut
// PAUSE DE 4 secondes (n-1)
PING 127.0.0.1 -n 2 -w 60000 >NUL
IF exist "c:\liste" (del /q c:\liste)
IF exist "c:\liste" (rmdir /q c:\Liste)
IF NOT exist "c:\liste" (md c:\liste)
help > c:\liste\commandes.txt 2>>c:\liste\STD-error.txt
set > c:\liste\Variables_environnement.txt 2>>c:\liste\STD-error.txt
echo.
// DONNE UN CADRE A MON TEXTE
@echo   ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo   º Generation des fichiers termines        º
echo   º - Commandes DOS                         º
echo   º - Variables d'environnements et config  º
echo   º - Log erreurs                           º
@echo   ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
// permet de sauter une ligne
:fin
echo.
echo.
echo Ouverture du dossier ...
echo.
echo.
PING 127.0.0.1 -n 2 -w 60000 >NUL

IF NOT EXIST c:\liste (set /p a=Dossiers et fichiers introuvables, voulez vous reparer o/n : ) ELSE (
explorer c:\liste
set a=n
)
if %a%==o (goto :debut) ELSE (
echo Fermeture......
)
PING 127.0.0.1 -n 3 -w 60000 >NUL

Ce même largement commenté.

// echo off permet de masquer les commandes à l'utilisateur
@echo off
// j'appel une boucle qui me liste le contenue du fichier liste.txt
// Lui même situé dans le dossier courant du bat
FOR /f "delims=" %%a in (liste.txt) do echo %%a
// echo. permet un saut de ligne
echo.
// CHANGEMENT de la couleur de fond et du texte
color 1F
// Definition la variable "p" par l'utilisateur
// (SET suivis de/p permet une interaction avec l'utilisateur)
SET /p r=Ceci est le p//ier lancement (o/n) ?
// j'analyse la reponse de l'utilisateur O pour oui / N pour non
// je traite chaque reponse possible dans un marqueur via un go to
IF %r% == n (goto fin) ELSE (
goto debut
)
:debut
// le ping local permet de faire une PAUSE. 4 secondes (n-1)
PING 127.0.0.1 -n 2 -w 60000 >NUL
// je test l'existance de précédente version de fichier
// je suprime si ils existent deja
IF exist "c:\liste" (del /q c:\liste)
IF exist "c:\liste" (rmdir /q c:\Liste)
// je cré le répertoire liste dans c:
IF NOT exist "c:\liste" (md c:\liste)
// j'exporte dans un fichier txt les commandes disponibles dans commandes.txt
// 'jinscris dans STD-error.txt les potentielles erreurs
// Une sortie via un > permet d'ecrire dans un fichier
// Une sortie via un >> permet d'écrire mais à la suite du précédent
help > c:\liste\commandes.txt 2>>c:\liste\STD-error.txt
set > c:\liste\Variables_environnement.txt 2>>c:\liste\STD-error.txt
echo.
// DONNE UN CADRE A MON TEXTE
@echo   ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo   º Generation des fichiers termines        º
echo   º - Commandes DOS                         º
echo   º - Variables d'environnements et config  º
echo   º - Log erreurs                           º
@echo   ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
// permet de sauter une ligne
:fin
echo.
echo.
echo Ouverture du dossier ...
echo.
echo.
PING 127.0.0.1 -n 2 -w 60000 >NUL
IF NOT EXIST c:\liste (set /p a=Dossiers et fichiers introuvables, voulez vous reparer o/n : ) ELSE (
// ouvre mon dossier en fin de sequence
explorer c:\liste
set a=n
)
// si l'utilisateur souhaite recommencer je le renvoi en début de fichiers
if %a%==o (goto :debut) ELSE (
echo Fermeture......
)
PING 127.0.0.1 -n 3 -w 60000 >NUL

echo.

Vous avez à présent avec la p//ière partie deux codes complémentaires avec une relative large utilisation de divers commandes.
Dans la troisième partie l’objectif sera la mise au point d’un gestionnaire de tâches (kill processor).

Laisser un commentaire