informatique:windows:batch
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
informatique:windows:batch [2022/08/01 09:23] – yahiko | informatique:windows:batch [2023/09/14 08:46] (current) – Passage de codedoc à Prism yahiko | ||
---|---|---|---|
Line 6: | Line 6: | ||
===== Code en vrac ===== | ===== Code en vrac ===== | ||
==== Passer en UTF-8 ==== | ==== Passer en UTF-8 ==== | ||
- | <codedoc | + | <code batch> |
CHCP 65001 > NUL | CHCP 65001 > NUL | ||
- | </codedoc> | + | </code> |
==== Menu simple ==== | ==== Menu simple ==== | ||
Un menu simple à choix multiples en cas d' | Un menu simple à choix multiples en cas d' | ||
- | <codedoc | + | <code batch> |
SET /P CHOICE=Choix ? | SET /P CHOICE=Choix ? | ||
IF /I " | IF /I " | ||
IF /I " | IF /I " | ||
IF /I " | IF /I " | ||
- | </codedoc> | + | </code> |
==== Trouver un fichier avec un nom partiel et mettre son nom complet dans une variable : ==== | ==== Trouver un fichier avec un nom partiel et mettre son nom complet dans une variable : ==== | ||
- | <codedoc | + | <code batch> |
FOR /R %%f IN (NOMFICHIER*.machin) DO SET NOMVARIABLE=" | FOR /R %%f IN (NOMFICHIER*.machin) DO SET NOMVARIABLE=" | ||
- | </codedoc> | + | </code> |
==== Afficher la date du jour format AAAAMMJJ ==== | ==== Afficher la date du jour format AAAAMMJJ ==== | ||
Line 28: | Line 28: | ||
Par exemple pour la mettre dans un nom de fichier. | Par exemple pour la mettre dans un nom de fichier. | ||
- | <codedoc | + | <code batch> |
%date: | %date: | ||
- | </codedoc> | + | </code> |
Exemple : | Exemple : | ||
- | <codedoc | + | <code batch> |
Nomfichier_%date: | Nomfichier_%date: | ||
- | </codedoc> | + | </code> |
==== Vérifier qu'un fichier existe ==== | ==== Vérifier qu'un fichier existe ==== | ||
Deux possibilités de conditions : | Deux possibilités de conditions : | ||
- | <codedoc | + | <code batch> |
IF EXIST fichier.exe (ECHO Le fichier existe) | IF EXIST fichier.exe (ECHO Le fichier existe) | ||
- | </codedoc> | + | </code> |
ou | ou | ||
- | <codedoc | + | <code batch> |
IF EXIST fichier.exe ( | IF EXIST fichier.exe ( | ||
ECHO Le fichier existe | ECHO Le fichier existe | ||
Line 49: | Line 49: | ||
ECHO Le fichier n' | ECHO Le fichier n' | ||
) | ) | ||
- | </codedoc> | + | </code> |
==== Paramétrer une imprimante par défaut ==== | ==== Paramétrer une imprimante par défaut ==== | ||
- | <codedoc | + | <code batch> |
RUNDLL32 PRINTUI.DLL, | RUNDLL32 PRINTUI.DLL, | ||
- | </codedoc> | + | </code> |
Par extension, un petit script pour attribuer un imprimante par défaut selon le nom du poste : | Par extension, un petit script pour attribuer un imprimante par défaut selon le nom du poste : | ||
- | <codedoc | + | <code batch> |
REM On récupère le nom du poste | REM On récupère le nom du poste | ||
SET Nom_PC=%COMPUTERNAME% | SET Nom_PC=%COMPUTERNAME% | ||
Line 77: | Line 77: | ||
GOTO EOF | GOTO EOF | ||
) | ) | ||
- | </codedoc> | + | </code> |
C'est sale mais dans un réseau à la noix, sans domaine, avec juste un script de netlogon ça fonctionne. | C'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 du PC ==== | ||
- | <codedoc | + | <code batch> |
WMIC computersystem where caption=' | WMIC computersystem where caption=' | ||
- | </codedoc> | + | </code> |
==== Changer le nom d'un PC selon une nomenclature ==== | ==== Changer le nom d'un PC selon une nomenclature ==== | ||
Ici Il s'agit de rajouter 3 chiffres au nom du poste. Ex : MIC-xxx2019 | Ici Il s'agit de rajouter 3 chiffres au nom du poste. Ex : MIC-xxx2019 | ||
- | <codedoc | + | <code batch> |
SET nom1=MIC- | SET nom1=MIC- | ||
SET nom2=2019 | SET nom2=2019 | ||
Line 118: | Line 118: | ||
GOTO Comptes | GOTO Comptes | ||
) | ) | ||
- | </codedoc> | + | </code> |
==== Les commandes simples dont je ne rappelle jamais des arguments ==== | ==== Les commandes simples dont je ne rappelle jamais des arguments ==== | ||
Line 124: | Line 124: | ||
=== Copie d'un dossier avec xcopy === | === Copie d'un dossier avec xcopy === | ||
- | <codedoc | + | <code batch> |
XCOPY dossier_source dossier\destination /S /Y | XCOPY dossier_source dossier\destination /S /Y | ||
- | </codedoc> | + | </code> |
=== Copie d'un fichier avec xcopy === | === Copie d'un fichier avec xcopy === | ||
- | <codedoc | + | <code batch> |
XCOPY fichier_source.machin fichier_destination.machin /Y | XCOPY fichier_source.machin fichier_destination.machin /Y | ||
- | </codedoc> | + | </code> |
=== Suppression d'un dossier non vide === | === Suppression d'un dossier non vide === | ||
- | <codedoc | + | <code batch> |
RMDIR nom_du_dossier /S /Q | RMDIR nom_du_dossier /S /Q | ||
- | </codedoc> | + | </code> |
==== Faire un tableau ==== | ==== Faire un tableau ==== | ||
=== Définir le tableau === | === Définir le tableau === | ||
- | <codedoc | + | <code batch> |
SETLOCAL enabledelayedexpansion | SETLOCAL enabledelayedexpansion | ||
SET var[0]=Valeur1 | SET var[0]=Valeur1 | ||
Line 146: | Line 146: | ||
SET var[2]=Valeur3 | SET var[2]=Valeur3 | ||
SET var[3]=Valeur4 | SET var[3]=Valeur4 | ||
- | </codedoc> | + | </code> |
=== Boucle pour lire le tableau === | === Boucle pour lire le tableau === | ||
- | <codedoc | + | <code batch> |
FOR /L %%n in (0, | FOR /L %%n in (0, | ||
ECHO Liste des valeurs : !var[%%n]! | ECHO Liste des valeurs : !var[%%n]! | ||
) | ) | ||
- | </codedoc> | + | </code> |
=== Exemple : === | === Exemple : === | ||
- | <codedoc | + | <code batch> |
SETLOCAL enabledelayedexpansion | SETLOCAL enabledelayedexpansion | ||
SET day[0]=MON | SET day[0]=MON | ||
Line 169: | Line 169: | ||
ECHO !day[%%n]! | ECHO !day[%%n]! | ||
) | ) | ||
- | </codedoc> | + | </code> |
==== Supprimer des fichier plus vieux que x jours ==== | ==== Supprimer des fichier plus vieux que x jours ==== | ||
Line 175: | Line 175: | ||
Il suffit de modifier la valeur des variables des trois premières lignes pour définir le dossier, le nombre de jour et l' | Il suffit de modifier la valeur des variables des trois premières lignes pour définir le dossier, le nombre de jour et l' | ||
- | <codedoc | + | <code batch> |
SET folder=C: | SET folder=C: | ||
SET days=15 | SET days=15 | ||
Line 183: | Line 183: | ||
ECHO Suppression des fichier %ext% du dossier %folder% de plus de %days% jours... | ECHO Suppression des fichier %ext% du dossier %folder% de plus de %days% jours... | ||
PING localhost -n 5 > NUL | PING localhost -n 5 > NUL | ||
- | </codedoc> | + | </code> |
Sinon, juste la ligne sans tout le blabla autour. | Sinon, juste la ligne sans tout le blabla autour. | ||
- | <codedoc | + | <code batch> |
FORFILES /P " | FORFILES /P " | ||
- | </codedoc> | + | </code> |
==== Tuer un processus ==== | ==== Tuer un processus ==== | ||
- | <codedoc | + | <code batch> |
TASKKILL /F /IM processus.exe | TASKKILL /F /IM processus.exe | ||
- | </codedoc> | + | </code> |
Du coup, on peut faire un truc du genre : | Du coup, on peut faire un truc du genre : | ||
- | <codedoc | + | <code batch> |
TASKLIST /FI " | TASKLIST /FI " | ||
IF " | IF " | ||
Line 204: | Line 204: | ||
ECHO Machin pas lancé n'est pas lancé. | ECHO Machin pas lancé n'est pas lancé. | ||
) | ) | ||
- | </codedoc> | + | </code> |
==== Formater la date ==== | ==== Formater la date ==== | ||
La variable d' | La variable d' | ||
- | <codedoc | + | <code batch> |
%date:/=-% | %date:/=-% | ||
Retourne : JJ-MM-AAAA | Retourne : JJ-MM-AAAA | ||
Line 218: | Line 218: | ||
mkdir prout\%date:/ | mkdir prout\%date:/ | ||
Retourne un dossier prout\JJ-MM-AAAA | Retourne un dossier prout\JJ-MM-AAAA | ||
- | </codedoc> | + | </code> |
Au format ISO 8601 : | Au format ISO 8601 : | ||
- | <codedoc | + | <code batch> |
%date: | %date: | ||
- | </codedoc> | + | </code> |
==== Récupérer le jour de la semaine ==== | ==== Récupérer le jour de la semaine ==== | ||
Source : [[https:// | Source : [[https:// | ||
- | <codedoc | + | <code batch> |
@ECHO OFF | @ECHO OFF | ||
for /F " | for /F " | ||
Line 239: | Line 239: | ||
ECHO Jour : %jour% | ECHO Jour : %jour% | ||
PAUSE | PAUSE | ||
- | </codedoc> | + | </code> |
http:// | http:// | ||
+ | |||
+ | ==== Récupérer une IP depuis un ping ==== | ||
+ | Source : [[https:// | ||
+ | <code batch> | ||
+ | FOR /f " | ||
+ | ECHO %IP% | ||
+ | </ |
informatique/windows/batch.1659345797.txt.gz · Last modified: 2022/08/01 09:23 by yahiko