16/05/2024

Batch

Batch

Détecter un périphérique en fonction d’un fichier

I. Présentation Si vous souhaitez exécuter un script qui effectuera une action entre la machine et une clé USB par exemple, il faudra vérifier le script avant chaque exécution pour voir si la lettre indiquée dans le script correspond à la lettre du lecteur de votre clé USB. Du coup, c’est un peu ennuyeux de devoir faire cela à chaque fois que vous changez de machine. Pire encore, imaginez que ce script sera utilisé par des personnes qui ne connaissent pas grand chose en informatique et qui ne sont pas capables de vérifier la cohérence du script, vous faites comment ? Nous allons voir dans ce tutoriel une solution qui consiste à accéder aux différentes lettres de lecteur disponible jusqu’à trouver un fichier précis, qui devra être indiqué dans le script. Dès que ce fichier sera trouvé sur le périphérique, le script se dira « J’ai trouvé le lecteur sur lequel je dois effectuer l’opération, je peux donc commencer ». Ce script

Lire cet article
Stratégie de groupe

Script – Paramétrer les horaires d’accès sur plusieurs utilisateurs

I. Présentation Lorsque vous disposez d’un domaine, il est possible à partir de l’annuaire Active Directory en accédant aux propriétés des utilisateurs de définir des plages horaires, pendant lesquelles ils sont autorisés à ouvrir une session sur le domaine. Cependant, ceci doit être géré au cas par cas ce qui peut être long à déployer dans le cas où vous devez le faire pour plusieurs dizaines d’utilisateurs et plus… Malheureusement ce n’est pas gérable par le biais des objets de stratégies de groupe (GPO). Deux solutions s’offrent à vous : – Définir les horaires d’accès utilisateur après utilisateur, – Définir les horaires d’accès sur un nombre illimité d’utilisateurs grâce à un script Batch. Dans ce tutoriel, nous verrons la seconde solution qui me semble, de loin, être la plus efficace et la plus enrichissante. II. Les utilisateurs concernés Le script utilisera un fichier dans lequel seront listés les utilisateurs auxquels doivent s’appliquer les horaires d’accès. Dans le cadre de ce

Lire cet article
Batch

Miroir d’une arborescence avec Robocopy

I. Présentation Robocopy est un outil en ligne de commande permettant d’effectuer des tâches de copies de fichiers et de répertoires. Il propose de nombreuses options, dont une option intéressante qui permet de faire un miroir d’une arborescence c’est-à-dire de rendre identique l’arborescence source avec celle de destination. Autrement dit, cela permet de faire une sauvegarde d’un répertoire vers un autre en s’assurant que les deux soient identiques, c’est la raison pour laquelle on parle de « miroir ». Lors de la première exécution, le miroir doit être construit étant donné que la destination est vide, Robocopy copie donc tout ce qui est contenu dans la source vers le répertoire de destination. Lors des prochaines exécutions, les nouveaux répertoires et fichiers seront copiés, ainsi que tout ce qui est modifiés, et sera supprimé tout ce qui se trouve dans la destination et qui n’est plus dans la source. Toujours dans le but d’avoir deux arborescences identiques. Dans ce tutoriel, nous

Lire cet article
Batch

Lister le contenu d’un fichier texte en batch

I. Présentation Il peut parfois lors de la construction d’un batch être utile de lire /écrire les données dans un ou plusieurs fichiers textes. En batch, nous utilisons pour cela la commande FOR qui à la structure d’une boucle qui s’exécutera une fois par ligne. II. Pour lister le contenu d’un fichier texte La commande est la suivante : FOR /F %%i in (‘type Fichier_Lecture.txt’) do echo %%i >> Fichier_Ecriture.txt /F signifie que nous travaillons sur un fichier (File) %%i est l’identifiant de la ligne ou de l’objet que nous voulons traiter In (‘type ’) . Tout ce qui suis la commande do sera répété suivant le nombre de ligne du fichier. Dans cette commande, nous écrivons la ligne dans un autre fichier « Fichier_Ecriture.txt » avec la commande echo. La ligne que nous lisons est représentée là aussi par %%i III. Avec plusieurs mots par ligne La commande est sensiblement différente avec plusieurs objets par ligne. Par exemple si

Lire cet article
Base de donnéesBatch

Sauvegarder une base de données sous Windows

I. Présentation Cette fiche a pour objectif de créer un script de sauvegarde rapide d’une base de données sous un format.sql. Nous commencerons pat générer le nom du fichier dans lequel nous allons sauvegarder la base de données. II. Le script et les explications SET JOUR=%date:~-10,2% # prend les deux premiers chiffres de la commande date SET ANNEE=%date:~-4% # prend les 4 derniers chiffres de la commande date SET MOIS=%date:~-7,2% # prend les deux chiffres en partant de 7 caractères depuis la fin ( les deux chiffres du mois ) SET HEURE=%time:~0,2% # prend les deux premiers chiffres de la commande time SET MINUTE=%time:~3,2% # prend les chiffres 2 et 3 de la commande time ( les minutes ) SET REPERTOIR=E:\Desktop\ # A modifier si votre Bureau n’est pas à cet endroit SET FICHIER=%REPERTOIR%\Sauvegarde_du_%JOUR%_%MOIS%_%ANNEE%_A_%HEURE%_%MINUTE%.sql # Création du fichier avec les informations récupérées IF NOT exist « %REPERTOIR% » md « %REPERTOIR% » # pointage vers mysqldump, à modifier si le votre ne se trouve

Lire cet article
Batch

Utilisation de la commande CALL

I. Présentation La commande CALL est une commande DOS permettant d’appeler un script Batch dans le script principal. Pour vous aider à comprendre le fonctionnement, voici un exemple : Nous allons créer 3 scripts Batch, un principal, et deux scripts annexes. L’utilisateur devra saisir 1 ou 2, si c’est 1, le script principal appellera le script annexe 1, si c’est 2, le script principal appellera le script annexe 2. Si un chiffre supérieur à 2 est saisi, un message d’erreur apparaît. II. Création des deux scripts annexes (à appeler avec le CALL) Étant donné que ce script sert uniquement à vous montrer l’utilisation de CALL, les deux scripts annexes afficheront uniquement un message du type « Je suis le Script numero X » où X sera le numéro du script annexe. Il suffit de créez un fichier .bat et d’écrire le code suivant : Pour le script annexe 1 (Nom du fichier : ScriptAnnexe1.bat) : @echo off echo Je suis le script

Lire cet article
Batch

Bien utiliser la date et l’heure

I. Qu’elles sont les commandes pour obtenir l’heure et la date Pour visionner la date utilisez la commande : date /t Pour visionner l’heure utilisez la commande : time /t II. Comment modifier l’heure et la date ? Pour modifier la date, tapez simplement la commande : date Pour modifier l’heure, tapez simplement la commande : time III. Comment découper la date ? %DATE:~Position_de_Depart,Nombre_De_Caractères% Nombre de caractères correspond au nombre de caractères que vous souhaitez afficher à partir de la position de départ. Exemple avec la date du jour, soit : 17/11/2011 : IV. Exemples   Afficher seulement le jour : %DATE:~0,2%   Afficher seulement le mois : %DATE:~3,2%   Afficher seulement l’année : %DATE:~6,4%   Afficher la date complète sans les slashs : %DATE:~0,2%%DATE:~3,2%%DATE:~6,4%   V.Comment découper l’heure ? %time:~Position_de_Depart,Nombre_De_Caractères% Nombre de caractères correspond au nombre de caractères que vous souhaitez afficher à partir de la position de départ. Exemple avec l’heure 22h00 et 32 secondes : Vous remarquerez

Lire cet article
Batch

Copie automatique du contenu d’un périphérique

Nous allons voir comment créer un fichier .bat permettant d’effectuer une copie de périphérique ( tel qu’une clé USB ) de manière quasi-automatique. Pour cela nous utiliserons la commande ROBOCOPY Il nous suffit d’inscrire dans un fichier .bat la commande : Robocopy \E [LettrePeriph] [CheminDestination] \E :est l’option permettant de copier les sous-répertoires ( y compris les vides ) \S :permet de copier les sous-répertoires hormis les vides. \MOV :coupe les fichiers \MOVE :coupe les fichiers ET les répertoires. \XF [fichier] : Exclue les fichiers dans le chemin défini \XF [repertoires] : Exclue les répertoires dans le chemin défini

Lire cet article
Batch

Changer sa configuration TCP/IP rapidement

Si vous utilisez plusieurs configuration TCP/IP différentes et que vous trouvez ennuyeux de devoir tout ressaisir à chaque changement, ce script est fait pour vous ! Tout d’abord, copiez collez dans un fichier vide le code du script ci-dessous et enregistre-le en .bat. Ensuite modifier la valeur des variables pour adapter le script à vos besoins. Explication sur la correspondance des variables :  NomConnexion : Correspond au nom exacte de la connexion dont la configuration doit être modifiée (évitez les accents).  IP : Correspond à l’adresse IP que vous souhaitez attribuer à cette connexion.  Masque : Correspond au masque de sous-réseau.  Passerelle : Correspond à la passerelle par défaut.  DNS : Correspond au serveur DNS principal. @echo off echo Mise a jour de la configuration TCP/IP du PC. Patientez… SET NomConnexion=Local Area Connection SET IP=172.17.0.4 SET Masque=255.255.0.0 SET Passerelle=172.17.0.254 netsh interface IP set address « %NomConnexion% » static %IP% %Masque% %Passerelle% 1 SET DNS=172.22.0.2 netsh interface IP set DNS « %NomConnexion% » static %DNS%

Lire cet article