acebook

Pages

mercredi 14 janvier 2015

[Batch] Astuces Fichiers en .bat

Commentaires → 0

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


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

**A mettre a la fin **
 set /a counter=%counter%+1
echo Nombre de fois : %counter% / 6
if %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) 

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

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

 8 / Forcer la suppression d'un dossier avec RMDIR

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

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


 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 !

Aucun commentaire: