Astuces diverses en Batch

Nous sommes en 2019 et j'utilise toujours le Batch pour automatiser des choses sous Windows. Pourquoi ? Parce que je suis une quiche en programmation, que je connais relativement pas trop mal les commandes DOS et que ça me permet d'aller vite. Alors oui, Powershell c'est plus mieux mais bon hein voila quoi.

Je vais donc compiler ici des petits bouts de codes qui peuvent servir dans pas mal de cas de figures ou tout simplement simplifier la vie. Malheureusement je n'ai plus la source pour la plus part que je n'ai pas trouvé par moi même, mais ce doit être de formidables personnes sur Stackoverflow ou sites dérivés (Super User, Server Fault… ).

Code en vrac

Passer en UTF-8

Menu simple

Un menu simple à choix multiples en cas d'erreur pour une mauvaise saisie.

“”“”“”“”“”“”

Trouver un fichier avec un nom partiel et mettre son nom complet dans une variable :

“”

Afficher la date du jour format AAAAMMJJ

Une autre solution pour formater la date au format JJMMAAAA (ou JJ-MM-AAAA) est disponible plus bas : Formater la date

Par exemple pour la mettre dans un nom de fichier.

Exemple :

Vérifier qu'un fichier existe

Deux possibilités de conditions :

ou

Paramétrer une imprimante par défaut

“”Par extension, un petit script pour attribuer un imprimante par défaut selon le nom du poste :

“”“”“”“”“”“”“”“”EOFC'est sale mais dans un réseau à la noix, sans domaine, avec juste un script de netlogon ça fonctionne.

Changer le nom du PC

Changer le nom d'un PC selon une nomenclature

Ici Il s'agit de rajouter 3 chiffres au nom du poste. Ex : MIC-xxx2019

“”“”“”“”“”“”“”“”“”“”“

Les commandes simples dont je ne rappelle jamais des arguments

Parce que je ne m'en rappelle jamais, j'sais pas pourquoi.

Copie d'un dossier avec xcopy

Copie d'un fichier avec xcopy

Suppression d'un dossier non vide

Faire un tableau

Définir le tableau

Boucle pour lire le tableau

Exemple :

Supprimer des fichier plus vieux que x jours

Ce petit bout de code qui va supprimer les fichiers d'un dossier qui sont plus vieux que le nombre défini de jours.

Il suffit de modifier la valeur des variables des trois premières lignes pour définir le dossier, le nombre de jour et l'extension des fichiers à supprimer.

”““…Sinon, juste la ligne sans tout le blabla autour.

“”“

Tuer un processus

Du coup, on peut faire un truc du genre :

“”“”””“”

Formater la date

La variable d'environnement %date% renvoie, par défaut, la date au format JJ/MM/AAAA. Si on veut utiliser cette variable pour, par exemple, créer un dossier il faut la formater dans les slash.

Au format ISO 8601 :

Récupérer le jour de la semaine

Source : https://itectec.com/superuser/adding-day-of-week-to-file-name-in-batch-file/

“”http://brisray.com/computers/batch-volume.htm