User Tools

Site Tools


informatique:windows:batch

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
informatique:windows:batch [2022/08/01 09:38] – Ajout IP depuis PING yahikoinformatique: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>+<code batch>
 CHCP 65001 > NUL CHCP 65001 > NUL
-</codedoc>+</code>
  
 ==== Menu simple ==== ==== Menu simple ====
 Un menu simple à choix multiples en cas d'erreur pour une mauvaise saisie. Un menu simple à choix multiples en cas d'erreur pour une mauvaise saisie.
-<codedoc code:batch>+<code batch>
 SET /P CHOICE=Choix ?  SET /P CHOICE=Choix ? 
 IF /I "%CHOICE%"=="1" (GOTO CHOIX1) IF /I "%CHOICE%"=="1" (GOTO CHOIX1)
 IF /I "%CHOICE%"=="2" (GOTO CHOIX2) IF /I "%CHOICE%"=="2" (GOTO CHOIX2)
 IF /I "%CHOICE%" GTR "2" (GOTO ERREUR) IF /I "%CHOICE%" GTR "2" (GOTO ERREUR)
-</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>+<code batch>
 FOR /R %%f IN (NOMFICHIER*.machin) DO SET NOMVARIABLE="%%~nxf" FOR /R %%f IN (NOMFICHIER*.machin) DO SET NOMVARIABLE="%%~nxf"
-</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>+<code batch>
 %date:~-4,4%%date:~-7,2%%date:~-10,2% %date:~-4,4%%date:~-7,2%%date:~-10,2%
-</codedoc>+</code>
  
 Exemple :  Exemple : 
-<codedoc code:batch>+<code batch>
 Nomfichier_%date:~-4,4%%date:~-7,2%%date:~-10,2% Nomfichier_%date:~-4,4%%date:~-7,2%%date:~-10,2%
-</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>+<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>+<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'existe pas  ECHO Le fichier n'existe pas
 ) )
-</codedoc>+</code>
  
 ==== Paramétrer une imprimante par défaut ==== ==== Paramétrer une imprimante par défaut ====
-<codedoc code:batch>+<code batch>
 RUNDLL32 PRINTUI.DLL,PrintUIEntry /y /n "Nom complet de l'imprimant dans Windows" RUNDLL32 PRINTUI.DLL,PrintUIEntry /y /n "Nom complet de l'imprimant dans Windows"
-</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>+<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>+<code batch>
 WMIC computersystem where caption='%computername%' rename Nouveau_Nom_du_PC WMIC computersystem where caption='%computername%' rename Nouveau_Nom_du_PC
-</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>+<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>+<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>+<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>+<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>+<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>+<code batch>
 FOR /L %%n in (0,1,%boucle%) DO ( FOR /L %%n in (0,1,%boucle%) DO (
  ECHO Liste des valeurs : !var[%%n]!  ECHO Liste des valeurs : !var[%%n]!
 ) )
-</codedoc>+</code>
  
 === Exemple : === === Exemple : ===
-<codedoc code:batch>+<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'extension des fichiers à supprimer.  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. 
-<codedoc code:batch>+<code batch>
 SET folder=C:\DOSSIER\Bidule SET folder=C:\DOSSIER\Bidule
 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>+<code batch>
 FORFILES /P "C:\DOSSIER\Bidule" /S /M *.zip /D -15 /C "CMD /C del @path FORFILES /P "C:\DOSSIER\Bidule" /S /M *.zip /D -15 /C "CMD /C del @path
-</codedoc>+</code>
  
 ==== Tuer un processus ==== ==== Tuer un processus ====
-<codedoc code:batch>+<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>+<code batch>
 TASKLIST /FI "IMAGENAME eq machin.exe" 2>NUL | find /I /N "machin.exe">NUL TASKLIST /FI "IMAGENAME eq machin.exe" 2>NUL | find /I /N "machin.exe">NUL
 IF "%ERRORLEVEL%"=="0" ( IF "%ERRORLEVEL%"=="0" (
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'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. 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.
-<codedoc code:batch>+<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>+<code batch>
 %date:~6,4%-%date:~3,2%-%date:~0,2% %date:~6,4%-%date:~3,2%-%date:~0,2%
-</codedoc>+</code>
  
 ==== Récupérer le jour de la semaine ==== ==== Récupérer le jour de la semaine ====
 Source : [[https://itectec.com/superuser/adding-day-of-week-to-file-name-in-batch-file/]] Source : [[https://itectec.com/superuser/adding-day-of-week-to-file-name-in-batch-file/]]
-<codedoc code:batch>+<code batch>
 @ECHO OFF @ECHO OFF
 for /F "tokens=2 skip=2 delims=," %%D in ('WMIC Path Win32_LocalTime Get DayOfWeek /Format:csv') do @set day=%%D for /F "tokens=2 skip=2 delims=," %%D in ('WMIC Path Win32_LocalTime Get DayOfWeek /Format:csv') do @set day=%%D
Line 239: Line 239:
 ECHO Jour : %jour% ECHO Jour : %jour%
 PAUSE PAUSE
-</codedoc>+</code>
  
 http://brisray.com/computers/batch-volume.htm http://brisray.com/computers/batch-volume.htm
Line 245: Line 245:
 ==== Récupérer une IP depuis un ping ==== ==== Récupérer une IP depuis un ping ====
 Source : [[https://stackoverflow.com/questions/9171774/batch-file-getting-ip-from-ping-command]] Source : [[https://stackoverflow.com/questions/9171774/batch-file-getting-ip-from-ping-command]]
-<codedoc code:batch>+<code batch>
 FOR /f "tokens=1,3 delims=: " %%A IN ('ping -n 1 fr.wikipedia.org') DO IF %%A==Réponse SET IP=%%B FOR /f "tokens=1,3 delims=: " %%A IN ('ping -n 1 fr.wikipedia.org') DO IF %%A==Réponse SET IP=%%B
 ECHO %IP% ECHO %IP%
-</codedoc>+</code>
informatique/windows/batch.txt · Last modified: 2023/09/14 08:46 by yahiko

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki