Astuces Fichiers BATCH (.bat)
Info : Rechercher des fichiers
*.* Tous les fichiers
*.txt Tous les fichiers textes
b*.exe Tous les fichiers exécutables commençants par un b
X*.* Affiche la liste des fichiers commençant par X
Info : Changer le nom de la barre
Title Installation By DragonCity
Info : Lancer le fichier bat à l'autorun de votre CD
creer-un-cd-auto-executable
Info : Rechercher des fichiers
*.* Tous les fichiers
*.txt Tous les fichiers textes
b*.exe Tous les fichiers exécutables commençants par un b
X*.* Affiche la liste des fichiers commençant par X
Info : Changer le nom de la barre
Title Installation By DragonCity
Info : Lancer le fichier bat à l'autorun de votre CD
creer-un-cd-auto-executable
1 / Si vous avez le message Echo Off n'est pas reconnu...
C'est que vous utilisez Notepad,et il faut modifier l'encodage,voir le menu.
Encodage en ANSI
2 / Faire une boucle,exemple ici jusqu'à atteindre 7
** A mettre au début **set /a counter=0
:numbers
shutdown -s -t 0 est la condition final
(la je lui dis d'éteindre mon pc a la fin de la boucle,-r pour redémarrer)
shutdown -r -t (valeur en seconde)
Pour sortier du fichier bat (End Of File)
if %count% ==7 goto :eof
(la je lui dis d'éteindre mon pc a la fin de la boucle,-r pour redémarrer)
shutdown -r -t (valeur en seconde)
Pour sortier du fichier bat (End Of File)
if %count% ==7 goto :eof
**A mettre a la fin **
set /a counter=%counter%+1
echo Nombre de fois : %counter% / 6if %counter% ==6 (shutdown -s -t 0)
goto :numbers
3 / Faire une pause ou un délai d'attente
Pour une pause rajouter :
Pause
Pour un délai d'attente rajouter :
Timeout 20
(une pause de 20 secondes)
4 / Fermer un programme
taskkill /im firefox.exe
(on ferme Firefox proprement)
taskkill /f /im firefox.exe
(on force Firefox à se fermer)
taskkill /f /im firefox.exe
(on force Firefox à se fermer)
5 / Afficher ou cacher les commandes
Ajouter au début de votre code :
@ECHO off : Pour cacher
@ECHO on : Pour afficher
6 / Timeout Aléatoire
Timeout entre 0 et 100
(Remplacer la valeur 100 par 1000 pour avoir entre 0 et 1000)
set /A Valeur=%RANDOM% %% 100
timeout %Valeur%
Timeout définit dans une plage de valeurs
(Ici on aura une plage de valeur entre 20 et 100)
set /A Valeur=%RANDOM% * 80 / 32768 + 20
timeout %Valeur%
80 = Plage de valeurs
20 = Valeur minimum que l'on veut
6 / Appeler un fichier bat dans un autre
6 / Timeout Aléatoire
Timeout entre 0 et 100
(Remplacer la valeur 100 par 1000 pour avoir entre 0 et 1000)
set /A Valeur=%RANDOM% %% 100
timeout %Valeur%
Timeout définit dans une plage de valeurs
(Ici on aura une plage de valeur entre 20 et 100)
set /A Valeur=%RANDOM% * 80 / 32768 + 20
timeout %Valeur%
80 = Plage de valeurs
20 = Valeur minimum que l'on veut
6 / Appeler un fichier bat dans un autre
call fichier.bat
7 / Répondre a une question par Oui ou Non
Choix Simple
@echo off
set /P choix=Fermer le programme (o=Oui ; n=Non) ? :
If %choix%==o (taskkill /im firefox.exe) else (echo Pas fermer !)
ou Choix multiple
set /P choix=Installer le programme (1 = word / 2 = excel / 3 = rien)? :
if /I "%choix%"=="1" (goto :A)
if /I "%choix%"=="2" (goto :B)
if /I "%choix%"=="3" (goto :C)
goto question
:A
echo Installation de Word
goto C
:B
echo Installation d'Excel
:C
echo O|rmdir /S "\\?\E:\Pictures\DossieraSupprimer
pause
echo O| : permet de répondre OUI automatiquement.
ou
rmdir /S /Q c:\temp
- /S : Supprime tous les sous-répertoires et fichiers également.
- /Q : Pas de confirmation avant la suppression
9/ Créer un dossier avec une question et des sous dossiers
@echo off
cd games
set /p name="Le Nom Du Jeu : "
md "%name%"
cd %name%
md content
md code
10/ Copier un fichier ou répertoire dans plusieurs sous dossiers
Fichier
@echo on
for /d %%a in (*.*) do copy fichier.txt "%%a"
pause
Dossier
@echo on
for /d %%a in (*.*) do xcopy/s "Optimize GDI" "%%a"
pause
11/ Supprimer les dossiers vides
@echo on
for /f "tokens=*" %%i in ('dir /s /b /ad C:\test\* ^| sort /r') do rd "%%~i"
pause
Remplacer C:\test\ par le dossier a vérifier.
12/ Supprimer des fichiers ou dossiers
del /S /Q pour ne pas demander de confirmation !
del /s Votredossier\*.exe
Supprimer les fichiers thumbs
del /s Thumbs.db
Supprimer les jpg, .ini et .db dans le dossier musique
del /s Music\*.jpg
del /s Music\*.ini
del /s Music\*.db
del /s Music\*.ini
del /s Music\*.db
Vous n'avez plus qu'à placer le fichier .bat
dans le dossier C:\Users\"Nom D'utilisateur" et le lancer!
Supprimer le répertoire "Optimize GDI"
rmdir /S /Q "Optimize GDI"
Supprimer tous les répertoires "sys"
@echo off
for /r /d %%x in ("*") do (
pushd "%%x"
rmdir /s /q "sys"
popd
)
pause
Supprimer le répertoire "Optimize GDI"
rmdir /S /Q "Optimize GDI"
Supprimer tous les répertoires "sys"
@echo off
for /r /d %%x in ("*") do (
pushd "%%x"
rmdir /s /q "sys"
popd
)
pause
13/ Regrouper les fichiers .txt
Copy * fichierCompil.txt
14/ Copier avec Xcopy
Copier un dossier
Xcopy "dossier" "C:\dossier_destination\"
Copier les fichiers seulement
Xcopy "*.*" "C:\dossier_destination\"
Copier tous les fichiers et dossiers
Xcopy/s "*.*" "C:\dossier_destination\"
Rajouter une option
/Y Remplace les fichiers existants
/q Pour une installation silencieuse
15/ Rajouter dans hosts
echo 127.0.0.1 activate.adobe.com >> C:\Windows\System32\drivers\etc\hosts
16/ Écrire dans un fichier texte
echo texte_à_ecrire > fichier_de_sortie.txt
echo "ecriture a la fin du fichier" >> fichier_de_sortie.txt
17/ Désinstaller une MAJ Windows
start /w wusa.exe /uninstall /kb:971033 /quiet /norestart
Il faudra ensuite masquer la mise a jour quand elle sera proposé.
Ou le faire avec un script :
RemoveWAT+ Watermark v0.8 + Script MAJ.zip
start "title" /b /wait cscript.exe "HideWindowsUpdates.vbs" 971033
Si vous voulez cacher d'autre MAJ rajouter avec un espace
start "title" /b /wait cscript.exe "HideWindowsUpdates.vbs" 971033 3075249 2952664
18/ Liste fichiers et dossiers
Lister tous les fichiers et dossiers avec extensions
dir /b > fichier.txt
Lister fichiers et dossiers avec extensions et arborescence
dir /b /s > fichier.txt
Lister tous les fichiers sans extensions
for /f "delims=" %%i in ('dir /A-D /B /O:GNE *.*') do @echo %%~ni >> fichier.txt
Lister tous les dossiers
for /f %%i In ('dir /b /ad *.*') Do @echo %%~ni >> fichier.txt
19/ Boucle pour convertir des fichiers
@echo off
SET PATH=sys
For %%1 in (*.raw) do (
echo %%1
raw2wav.exe "%%1" "%%1.wav" 2 44100 16)
SET PATH=sys >> Définit le dossier source du programme
echo %%1 >> montre le nom de chaque fichier converti
20/ Renommer des fichiers avec double extensions
Rename *.wav *.
Rename *.raw *.wav
21/ Renommer des caractères dans un fichier
@echo off
setLocal EnableDelayedExpansion
for /f "tokens=* delims= " %%a in (items.xml) do (
set str=%%a
set str=!str:FBA-XXX Pro=CPS1 CPS2 Neo-Geo!
set str=!str:MAMEoXTRAS v1.14=MAME Arcade!
set str=!str:mednafenx_nes=Nintendo NES!
set str=!str:Surreal64 CE=Nintendo 64!
set str=!str:mednafenx_pce=Pc Engine!
set str=!str:NeoGenesis=Megadrive!
set str=!str:MekaX=Master System!
set str=!str:snes9xbox=Super Nintendo!
echo !str!>>fichiertemp.txt
)
type fichiertemp.txt>items.xml
del fichiertemp.txt
22/Lancer tous les fichiers bat dans les dossiers et sous dossiers
@echo off
for /r /d %%x in ("*") do (
pushd "%%x"
call "optimize_gdi.bat"
popd
)
pause
23/Renommer chaque fichiers *.gdi comme les dossiers
@Echo OFF
FOR /D /R %%# in (*) DO (
PUSHD "%%#"
FOR %%@ in ("*.gdi") DO (
Echo Ren: ".\%%~n#\%%@" "%%~n#%%~x@"
Ren "%%@" "%%~n#%%~x@"
)
POPD
)
Pause&Exit
Enjoy !