Вы находитесь на странице: 1из 38

FAQ Windows Batch

Date de publication : 1 septembre 2007

Dernire mise jour : 30 mars 2017

Cette FAQ propose de nombreuses questions et leurs rponses sur la cration


de fichiers Batch pour Windows. Ces fichiers permettent d'automatiser un
certain nombre d'oprations sous Windows.
Vous pouvez participer l'enrichissement de cette FAQ en proposant
vos Questions/Reponses dans le forum FAQs Windows.

Si vous avez des commentaires faire, des corrections ou amliorations


proposer, n'hsitez pas :
Ont contribu cette FAQ :

Senji - maxim_um - I'm_HERE - prgasp77 -


dourouc05 - jsd03 - Thomas Garcia (Shawn12)
- Djug - Jarodd - kokotis - Laurent Dardenne
FAQ Windows Batch

1. Prsentation de la FAQ Batch (3) ......................................................................................................................... 4


2. Questions gnrales (7) .........................................................................................................................................5
3. Commandes internes (83) ......................................................................................................................................7
3.1. Commandes gnrales de l'invite de commande (14) .................................................................................. 8
3.2. Commandes sur le temps, l'heure et la date (5) .........................................................................................12
3.3. Manipulation de variables (5) ...................................................................................................................... 15
3.4. Commandes sur les fichiers (22) ................................................................................................................ 17
3.5. Commandes sur les rpertoires (16) ...........................................................................................................22
3.6. Commandes disque (5) ............................................................................................................................... 27
3.7. Commandes systme (16) ...........................................................................................................................28
4. Commandes externes (9) .....................................................................................................................................34
5. Fonctions utiles (2) ...............................................................................................................................................37

-3-
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

Sommaire > Prsentation de la FAQ Batch


Comment bien utiliser cette FAQ et le forum ?
Auteur : Thomas Garcia (Shawn12)
Lorsque vous vous trouvez devant un problme, voici la marche suivre :
1/ Utilisez la commande "help" pour obtenir de l'aide
2/ Chercher dans cette Foire Aux Questions
3/ Chercher sur un moteur de recherche (par exemple Google)
4/ Faire une recherche sur le forum concern.
5/ Si vous n'avez toujours pas trouv de rponse votre question : vous pouvez, aprs avoir lu les Rgles
du forum poster une question prcise avec un titre clair et vous enrichirez ainsi la base de connaissances.
Les messages concernant spcifiquement Windows 7 doivent tre posts dans le forum Scripts/Batch

Comment participer et enrichir la FAQ Batch ?


Auteur : Thomas Garcia (Shawn12)
Vous connaissez une astuce concernant les fichiers batchs ? Vous maitrisez un concept et avez envie de
le partager ?
Alors n'hsitez plus et contribuez la FAQ batch en proposant de nouvelles Questions/Rponses dans le
forum Vos Contributions > FAQ de la rubrique Windows.

N'oubliez pas de prciser le tag [batch] dans le titre de la discussion.

Que faire si je remarque une erreur dans la FAQ ?


Auteur : Thomas Garcia (Shawn12)
Si vous constatez une coquille dans la FAQ, une erreur dans la syntaxe d'une commande, d'une cl de
registre ou toute autre erreur, nous vous remercions par avance de le signaler aux responsables de la
rubriques Windows (indiqus en bas de la page).
Attention, nous ne rpondront aucune question technique si l'une des manipulations ne marchait pas sur
votre configuration, sauf si l'erreur fait suite une coquille dans la Question-Rponse.

-4-
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

Sommaire > Questions gnrales


Qu'est-ce que MS-DOS ?
Auteur : kokotis
A l'origine l'OS MS-DOS a emprunt quelques concepts d'UNIX afin de permettre l'excution d'une suite
d'instruction en automatique Il s'agit d'un fichier texte contenant une suite de commande systme ou
de programme externe pouvant tre excutes en automatique (traitement puis fin du programme sans
intervention de l'utilisateur).
On utilise souvent le terme batch pour dsigner un script DOS, mais ce terme peut avoir une autre
signification selon l'environnement (grand systme, ordonnanceur, base de donnes, ?).
Depuis Windows 95 les commandes DOS ont peu volues notamment sur la partie procdurale IF, FOR. A
partir de NT 4.0 les commandes DOS offrent de nouvelles possibilits.
En combinant les commandes natives et les scripts de type WSH ou VBS, l'automatisation de tches s'en
trouve facilite (appel systme notamment).

Comment connatre les commandes prsentes dans votre version de Windows ?


Auteur : kokotis
Dans la console tapez la commande Help

Comment faire passer les accents dans un script batch ?


Auteur : kokotis
Les accents ne s'affichent pas correctement parce qu'il faut convertir le texte ANSI ver OEM, pour
convertir le texte il faut diter le batch avec la commande edit puis enregistrer et les accents s'afficheront
correctement.

Comment grer les espaces dans les noms de fichiers et rpertoires ?


Auteur : kokotis
Quand un chemin de fichier ou de rpertoire comprend un ou plusieurs espaces il faut mettre le nom entre
guillemets.

O trouver des informations sur l'criture de fichiers batchs?


Auteur : kokotis
Voici quelques liens utiles :
http://lipas.uwasa.fi/~ts/http/http2.html
http://groups.yahoo.com/group/batchworld/
http://www.robvanderwoude.com/index.php
Quelques outils pour enrichir l'OS cot batch
http://technet.microsoft.com/en-us/sysinternals
http://unxutils.sourceforge.net/

-5-
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

woop ( manipulation de chane/fichier ) http://www.kik-it.com/index.php?P=woop

Comment ajouter un commentaire dans un script batch pour qu'il ne soit pas excut?
Auteur : kokotis
On utilise la commande Rem :

Rem Ici le commentaire

Mais on peut aussi utiliser "::" :

:: Ici le commentaire

O trouver la documentation officielle de Microsoft sur les commandes ?


Auteur : kokotis
La documentation de Microsoft est disponible sur Command-Line reference A-Z Nota: Pour Firefox, il
vaut mieux activer IETab. Pour les programmes batch Using batch files

-6-
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

Sommaire > Commandes internes

-7-
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

Sommaire > Commandes internes > Commandes gnrales de l'invite de commande


Comment afficher du texte dans la console ?
Auteur : kokotis
On utilise la commande Echo :

Echo "Texte a afficher"

Comment afficher un message d'avertissement clignotant et mettre un Bip ?


Auteur : kokotis

Set VarMessClgnt=Ici le message d'avertisement


For /l %%i In (0,1,3) Do (
Cls &Color 0C &echo.&echo ==^> %VarMessClgnt% & Sleep 1
Cls &Color 0A &echo.&echo ==^> %VarMessClgnt% & Sleep 1
)

Comment modifier le titre de la fentre console dans un batch ?


Auteur : kokotis
On utilise la commande Title

Title Ici votre titre

Comment ajouter temporairement un chemin au PATH dans un batch ?


Auteur : kokotis
On utilise la commande Set :

Set Path=%Path%;C:\rpertoire

Comment vrifier si une chane contient ni plus ni moins 5 caractres


Auteur : kokotis

set /p VrChn= Chaine ?

echo %VrChn%> fichier.txt

for /r %%i in (fichier.txt) do set VrCompt=%%~zi& set /a VrCompt-=2

del fichier.txt

if %VrCompt% gtr 5 echo Chaine trop longue


if %VrCompt% equ 5 echo Chaine de bonne longueur

-8-
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

if %VrCompt% lss 5 echo Chaine trop courte

Comment appeler un fichier de commande depuis un autre fichier de commande


Auteur : kokotis
On utilise la commande call :

call fichier.bat

Call permet de revenir au programme appelant une fois le programme appel termin. On peut ainsi
cascader les appels, on peut aussi [mode bricole] modifier le programme appelant dans le programme
appel

Comment marquer une pause ?


Auteur : kokotis
On utilise la commande Pause et l'excution du script sera interrompue jusqu' ce que l'utilisateur appuie
sur une touche.

Comment quitter un script ?


Auteur : kokotis
On utilise la commande Exit pour forcer l'arrt du script.

goto :eof

La fin d'un script peut tre aussi la dernire ligne du fichier ou encore sous XP l'utilisation d'un code de
sortie

Exit 5

Comment quitter automatiquement la console ?


Auteur : kokotis
On utilise la commande exit. Tandis que la commande End permet d'arrter un batch

Comment rcuprer en paramtre le chemin d'un fichier gliss-dpos sur le batch ?


Auteur : kokotis
Vous pouvez faire glisser un fichier quelconque sur un fichier batch. Le fichier batch sera alors lanc et le
nom du fichier gliss sera enregistr dans la variables %1.
Si l'on fait glisser deux fichiers on utilise aussi la variable %2, ainsi de suite.

-9-
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

Faite un essai avec ceci en faisant glisser des fichiers sur le batch :

echo %1
echo %2
pause

Comment utiliser un clavier "azerty" avec l'diteur de texte edit.com ?


Auteur : dourouc05
edit.com est l'diteur de fichiers du DOS, pourtant toujours disponible sous Windows Vista, en version 2,
qui date de... 1995.
Ce programme, comme d'autres anctres hrits de la sacro-sainte poque du DOS subsistant sous Vista,
dcide arbitrairement que votre clavier est un QWERTY, alors qu'il n'en est rien.
La commande keyb, disponible sous DOS, a disparu, mais a t remplace par la commande kb16,
disponible dans Windows Vista. Voici comment vous pouvez l'utiliser.
Pour un clavier AZERTY franais :

kb16 fr

Pour un clavier AZERTY belge :

kb16 be

L'utilisation de cette commande ramne votre invite l'poque o les noms de fichiers taient limits 8+3
caractres, et tout en majuscules : n'en soyez pas tonns !
Si vous souhaitez quitter ce mode, vous pouvez en sortir en utilisant la commande exit.
Si vous souhaitez l'utiliser chaque session du DOS, vous pouvez ajouter la commande kb16 suivi de votre
clavier au fichier%WINDIR%\system32\autoexec.nt.

- 10 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

Comment effacer la console dans un batch ?


Auteur : kokotis
On utilise la commande cls (CLear Screen)

Comment changer la couleur du texte dans la console ?


Auteur : kokotis
On utilise la commande Color, tapez color /? pour voir comment l'utiliser

Comment dfinir la taille de la fentre console ?


Auteur : kokotis
On utilise la commande mode comme suit : cols = colonnes = largeur lines = lignes = hauteur

mode con cols=80 lines=90

- 11 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

Sommaire > Commandes internes > Commandes sur le temps, l'heure et la date
Comment afficher la date ?
Auteurs : Jarodd - kokotis
Pour afficher simplement la date complte, on utilise la variable ?te% :

Echo ?te%

On peut galement dcomposer la date de cette faon :

echo ?te%
echo ?te:~0,2%
echo ?te:~3,2%
echo ?te:~6,4%

La premire ligne affiche la date entire, les suivantes affichent respectivement le jour, le mois, et l'anne.

Comment afficher l'heure ?


Auteur : kokotis
On utilise la variable %time%

Echo %time%

Comment marquer une pause pendant 5 secondes ?


Auteur : kokotis
Une technique consiste pinger une adresse IP bidon :

ping 0.0.0.0 -n 5 > NUL

On peut aussi utilise la commande Sleep (La commande Sleep n'est pas intgre Windows, il faut la
tlcharger)

Comment obtenir la date de la veille ?


Auteur : I'm_HERE
Il est possible d'utiliser un fichier de commandes hybride (batch/vbs) :

@echo off
echo>_.vbs wscript.echo eval("date-1")
for /f "tokens=*" %%y in ('cscript/nologo _.vbs') do (set y=%%y)

- 12 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

echo HIER: %y%


del _.vbs 2>nul
pause

Voici une explication dtaille des lignes prsentes ci-dessus:

@echo off

Empche l'affichage des commandes excutes dans la sortie du traitement batch.

echo>_.vbs wscript.echo eval("date-1")

On crer un petit script VBS dans un fichier nomm _.VBS qui va calculer DATE-1, c'est--dire la date d'hier.

for /f "tokens=*" %%y in ('cscript/nologo _.vbs') do (set y=%%y)

On execute le script _.VBS et on met le resultat obtenu dans la variable y.

echo HIER: %y%

On affiche le contenu de la variable y.

del _.vbs 2>nul

On supprime notre petit script VBS dont le nom est "_.VBS".

pause

On arrte l'excution en attendant que l'utilisateur appuie sur une touche.

Comment teindre automatiquement un ordinateur une heure prcise certains jours ?


Auteur : Senji
Il est possible d'utiliser la commande AT.
Syntaxe :

AT [\\ordinateur] [ [id] [/DELETE] | /DELETE [/YES]]


AT [\\ordinateur] heure [/INTERACTIVE]
[ /EVERY:date[,...] | /NEXT:date[,...]] "commande"

Exemple :

AT 21:30 /EVERY:S /INTERACTIVE "shutdown -f -t 1"

- 13 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

Pour plus de dtails, vous pouvez consulter cette page : http://support.microsoft.com/kb/313565

- 14 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

Sommaire > Commandes internes > Manipulation de variables


Comment demander l'utilisateur de saisir un mot et le placer dans une variable ?
Auteur : kokotis
On utilise la commande set avec le commutateur /p.
La syntaxe est :

set /p nomVariable= Invite

L'invite est le message affich l'utilisateur pour lui demander une saisie.
Exemple :

set /p nom= Entrez votre nom :

Comment crer une variable dans un batch ?


Auteur : kokotis
On utilise la commande set :

set nomDeLaVariable=contenuDeLaVariable

Comment remplacer un caractre dans une variable ?


Auteur : kokotis
Dans cet exemple on remplace les 'a' par des 'e' :

Set nomDeLaVariable=% nomDeLaVariable:a=e%

Comment crer et utiliser une variable dans une mme boucle for ?
Auteur : kokotis
Il faut utiliser l'expansion retarde de variable d'environnement : On ajoute setlocal
enableDelayedExpansion avant la boucle.

setlocal enableDelayedExpansion
for /F %%D in (c:\Mon_fichier) do (
for /F "tokens=4 delims=\" %%E in ("%%D") do (
set mavar=%%E
echo !mavar!
pause
)
)

- 15 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

endlocal

Comment dcomposer un chemin de fichier contenu dans une variable ?


Auteur : kokotis
Si la variable qui contient le chemin est %1, alors on peut la dcomposer de la faon suivante :

%1 = Chemin complet du fichier


%~n1 = nom du fichier sans l'extension
%~x1 = extension du fichier
%~nx1 = nom et extension du fichier

- 16 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

Sommaire > Commandes internes > Commandes sur les fichiers


Comment crire dans un fichier.txt ?
Auteur : kokotis
Pour crire dans un fichier texte on utilise la commande echo et le caractre de sortie >, voici un exemple :

Echo Ce texte sera crit dans la fichier > fichier.txt

Mais avec un seul > ca effacera ce qu'il y a dans le fichier, pour crire la suite on double le >

Echo Se texte sera crit dans la fichier >> fichier.txt

Comment n'afficher qu'une plage de lignes d'un fichier.txt ?


Auteur : kokotis
Dans notre exemple, nous affichons les lignes 10 20.

for /f "tokens=1,* delims=:" %%i in ('findstr /n /r . fichier.txt') do if %%i geq 10 if %%i


leq 20 echo %%j

Comment afficher le contenu d'un fichier.txt dans la console ?


Auteur : kokotis
On utilise la commande Type :

Type nomDuFichier.txt

Comment compter le nombre de ligne d'un fichier.txt ?


Auteur : kokotis
On utilise une boucle for, que l'on va coupler avec les commandes Type pour lire le fichier.txt et Set /a pour
compter le nombre de retours chariot:

for /f "delims=" %%i in ('type fichier.txt) do set /a Compt+=1


echo %Compt%

Comment assembler plusieurs fichiers.txt ?


Auteur : kokotis
Cet exemple va assembler tous les fichiers ".txt" contenu dans le rpertoire MonRep :

- 17 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

for /r "C:\MonRep\" %%i in (*.txt) do for /f "delims=" %%j in ('type "%%i"') do echo %%j>>
Resultat.txt

Comment assembler plusieurs fichiers.txt


Auteur : kokotis

for "C:\MonRep\" %%i in (*.txt) do for /f "delims=" %%j in ('type "%%i"') do echo %%j>>
Resultat.txt

ou alors

COPY montext1.txt + montexte2.txt montexte.txt

Comment lire un fichier ligne par ligne ?


Auteur : kokotis
Dans un fichier batch, on utilise une boucle for couple la commande type :

for /f "delims=" %%i in ('type fichier.txt') do echo %%i

Comment dcouper un fichier.txt ligne par ligne ?


Auteur : kokotis
Chaque fichier.txt portera comme nom le numro de ligne:

for /f "tokens=1,* delims=:" %%i in ('findstr /n /r . fichier.txt') do echo %%j> %%i.txt

Chaque fichier.txt portera pour nom le premier mot de la ligne:

for /f "tokens=1,* delims= " %%i in ('type fichier.txt') do echo %%i %%j> %%i.txt

Chaque fichier.txt portera comme non les 5 premier caractres de chaque ligne:

for /f "delims=" %%i in ('type fichier.txt') do set VrLigne=%%i& call :traitLigne


goto fintraitLigne

:traitLigne
echo %VrLigne%> "%VrLigne:~0,5%.txt"
goto :eof

fintraitLigne

- 18 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

Chaque fichier portera pour nom le numro de ligne + les 5 premiers caractres de la ligne:

for /f "tokens=1,* delims=:" %%i in ('findstr /n /r . fichier.txt') do set VrLigne=%%j& set


VrNumbLign=%%i& call :traitLigne
goto fintraitLigne

:traitLigne
echo %VrLigne%> "%VrNumbLign%_%VrLigne:~0,5%.txt"
goto :eof

:fintraitLigne

Comment imprimer un fichier.txt ?


Auteur : kokotis
On utilise la commande Print

Print fichier.txt

Comment renommer un fichier ?


Auteur : kokotis
On peut utiliser les commandes Ren et Rename:

Ren "C:\rpertoire\fichier.exe" "nouveauNom.exe"

Comment tester si un fichier existe ou pas ?


Auteur : kokotis

If exist "C:\monRpertoire\MonFichier.exe" echo Le fichier exist


If not exist "C:\monRpertoire\MonFichier.exe" echo Le fichier n'exist pas

Comment copier un ou plusieurs fichier(s) ?


Auteur : kokotis
Pour copier un seul fichier on utilise la commande Copy :

Copy "C:\chemin\du\fichier.exe" "C:\chemin\de\destination"

Pour copier plusieurs fichiers on utilise la commande Xcopy :

- 19 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

xcopy "C:\chemin\du\rpertoire\contenant les fichiers\*.*" "C:\Chemin\de\destination"

Comment supprimer un fichier ?


Auteur : kokotis
On utilise la commande Del :

del nomDuFichier.exe /f /q

Comment rechercher une chane de caractres dans un fichier ?


Auteur : kokotis
Dans cet exemple on recherche le mot jul :

for /f "delims=" %%i in ('type "fichier.txt" ^|findstr /i /r "jul"') do echo %%i

Comment comparer deux fichiers ?


Auteur : kokotis
On utilise la commande FC :

Fc fichier1.txt fichier2.txt

Comment comparer le contenu de deux fichiers ?


Auteur : kokotis
On utilise la commande Comp

Comp Fichier1.txt fichier2.txt

Comment remplacer les espaces par des _ dans les noms de fichiers ?
Auteur : kokotis
On fait a avec une boucle for

for /f "delims=" %%a in ('dir /b') do call :cmd "%%a"


exit
:cmd
set fichierbck=%~1
set fichier=%fichierbck: =%

- 20 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

ren "%fichierbck%" "%fichier%"

Comment dplacer des fichiers ?


Auteur : kokotis
On utilise la commande Move

Move "C:\fichier\a\dplacer.exe" "C:\nouvelle\emplacement"

Comment supprimer toutes les lignes vides d'un fichier.txt ?


Auteur : kokotis
La solution consite a rcrire le fichier en sautant les lignes vides:

FOR /F %%i in ('TYPE fichier.txt') DO IF NOT "%%i"=="" Echo %%i>> fichier2.txt

Comment ajouter la date dans un nom de fichier ?


Auteur : kokotis

echo un texte > "?te:~0,2%-?te:~3,2%-?te:~6,4%.txt"

Comment supprimer les fichiers.txt vides ?


Auteur : kokotis

for /r "C:\rpertoire\contenant\les\fichier\txt\" %%i in (*.txt) do if %%~zi==0 del "%%i"

Comment actualiser la date de dernire modification


d'un fichier existant (quivalent touch Linux/Unix) ?
Auteur : Laurent Dardenne
Fonction touch, uniquement pour des fichiers existants :

dir test.txt
copy /b test.txt +,,
dir test.txt

lien : Source : Alex Pinsker

- 21 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

Sommaire > Commandes internes > Commandes sur les rpertoires


Comment changer de rpertoire courant / se dplacer dans l'arborescence ?
Auteur : Thomas Garcia (Shawn12)
Pour changer de rpertoire courant dans un fichier batch, il faut utiliser la commande cd (Change Directory).

cd repertoire

repertoire peut tre : * le nom d'un sous-rpertoire du rpertoire courrant * un chemin complet (sur le mme
disque).

cd c:\windows\temp\

* .. (deux points) pour se dplacer dans le rpertoire parent.

cd ..

* \ pour se dplacer la racine du disque

cd \

* une variable contenant un chemin :

cd %temp%

Si le rpertoire que l'on veut atteindre est situ sur un autre disque (lettre de lecteur diffrente), il faut
utiliser l'option /D.

cd /d %var%

Comment crer un rpertoire ?


Auteur : kokotis
On utilise la commande Md :

Md nonDuRpertoire

Comment rcuprer le chemin du rpertoire courant ?


Auteur : kokotis
On utilise la variable ?%.

- 22 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

Dans une boucle for on peut utiliser la variable %dp0

for /r "%~dp0\" %%i in (*.txt) do echo %%i

Comment rechercher un fichier prcis dans une arborescence de rpertoire ?


Auteur : kokotis
Dans cet exemple on utilise une boucle For avec le commutateur /r pour lister tous les fichiers ".exe" du
rpertoire racine:

for /r "C:\Rpertoire\racine" %%i in (fichier.exe) do echo %%i

Comment rechercher un fichier prcis sur tous les disques durs ?


Auteur : kokotis
On utilise deux boucle For, un premire pour dtecter tous les disques durs, puis une deuxime pour
rechercher le fichier sur chaque disque dtect:

for %%i in (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W ,X,Y,Y,Z) do (


if exist "%%i:\" set VrLetter=%%i& call :search %%i
)
goto FinBoucle
:search
for /r "%VrLetter%:\" %%j in (fichier.txt) do if exist "%%j" echo %%j
goto :eof
:FinBoucle

Comment renommer une srie de fichiers en ajoutent un numro a chacun ?


Auteur : kokotis
Dans cet exemple on renomme toutes les images .jpg du rpertoire monRep :

for /r "C:\monRep\" %%j in (*.jpg) do set VrImage=%%j& set /a Compt+=1& call :renamImage
:renamImage
ren "%VrImage%" "image_%Compt%.jpg"

Comment renommer une srie de fichiers en ajoutant la date du jour


Auteur : kokotis
Il suffit de boucler en contatnant la variable date

- 23 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

for /r "C:\MonRep\" %%i in (*.*) do ren "%%i" "?te:~0,2%-?te:~3,2%-?te:~6,4%_%%~nxi"

Comment partager un rpertoire ?


Auteur : kokotis
On utilise la commande Net Share :

Net Share NomDuPartage=C:\chemin\du\rpertoire\\partager

Comment supprimer un rpertoire ?


Auteur : kokotis
On utilise la commande Rd :

Rd C:\chemin\du\rpertoire /s /q

Comment afficher une arborescence de rpertoires et fichiers dans la console ?


Auteur : kokotis
On utilise la commande Tree :

Tree C:\chemin\du\rpertoire\source

Comment trier des fichiers par extensions ?


Auteur : kokotis

for /r "%~1\" %%i in (*.*) do set VrChmFch=%%i& set VrExtnsFch=%%~xi& call :triExts

goto finTriExts

:triExts

if not exist "TriExtension\%VrExtnsFch%" mkdir "TriExtension\%VrExtnsFch%"


move "%VrChmFch%" "TriExtension\%VrExtnsFch%"

goto :eof

:finTriExts

Comment trier des fichiers par dates de cration ?


Auteur : kokotis

for /r "%~1\" %%i in (*.jpg) do set VrNamFch=%%i& set VrDatFch=%%~ti& call :movFch
goto fin

- 24 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

:movFch

set VrDatFch=%VrDatFch:~0,10%
set VrDatFch=%VrDatFch:/=-%

if not exist "MonRep\%VrDatFch%" mkdir "MonRep\%VrDatFch%"

move "%VrNamFch%" "MonRep\%VrDatFch%"

goto :eof

:fin

Comment afficher le fichier le plus rcent dans un rpertoire?


Auteur : kokotis

for /f "tokens=4* delims= " %%i in ('dir /o:d "C:\monRep\*.txt" ^| findstr /i /c:".txt"') do
set VrFchRcnt=%%i %%j
echo %VrFchRcnt%

Comment imprimer une arborescence des dossiers et des fichiers


Auteur : kokotis
Si l'imprimante est branche sur le por LTP:

tree "C:\monRep" /f /a > lpt1

Si c'est une imprimante USB:

tree "C:\monRep" /f /a > imprimArborc.txt


print /d:nomImprimante imprimArborc.txt
del imprimArborc.txt

Comment tester si un rpertoire contient des fichiers et compter les fichiers ?


Auteur : kokotis

set VrSource=C:\MonRep
For %%a In ("%VrSource%\*.*") Do Set /A Compte+=1
If "%Compte%"=="" Set Compte=Pas de
echo ==^> %Compte% nouveaux fichiers pour [ emule ]
For /f "delims=" %%a in ('dir "%VrSource%" /b') do (
If %%a neq "" echo | & for /R %VrSource% %%i in (*.*) do echo %%~nxi &

- 25 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

Comment ajouter une extension tous les fichiers d'un rpertoire ?


Auteur : dourouc05
]Comment ajouter une extension tous les fichiers d'un rpertoire ?
Il n'est pas rare de vouloir ajouter une extension tous les fichiers d'un rpertoire. Il suffit d'utiliser cet
effet une instruction for, comme le montre l'exemple ci-dessous. Cette commande gardera intact le nom de
fichier, ne faisant qu'y ajouter le suffixe dsir.

for /r "C:\rep" %%i in (*) do ren "%%i" "%%~nxi.ext"

- 26 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

Sommaire > Commandes internes > Commandes disque


Comment afficher le numro de srie d'un volume ?
Auteur : kokotis
On utilise la commande Vol

Comment formater un disque dur ?


Auteur : kokotis
On utilise la commande Format :

Format C:\

Comment crer un disque virtuel pointant vers un rpertoire


(simuler une unit en l'associant un rpertoire) ?
Auteur : kokotis
On utilise la commande subst :

subst S: E:\Mon Dossier

Comment convertir une partition FAT32 ver NTFS ?


Auteur : kokotis
On utilise la commande convert :

Convert C:\ /FS:NTFS

Comment comparer le contenu de deux disquettes ?


Auteur : kokotis
On utilise la commande DISKCOMP

DISKCOMP A: B:

- 27 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

Sommaire > Commandes internes > Commandes systme


Comment ajouter un chemin vers un rpertoire au path ?
Auteur : kokotis

Path = %path%; nouveau_chemin

Comment connatre la version de Windows ?


Auteur : kokotis
On utilise la commande Ver
Voici un script pour excuter une commande diffrente selon la version de windows:

ver | find /i "xp" > nul


if %errorlevel%==0 echo Windows XP
ver | find /i "vista" > nul
if %errorlevel%==0 echo Windows Vista
ver | find /i "NT" > nul
if %errorlevel%==0 echo Windows NT
ver | find /i "2000" > nul
if %errorlevel%==0 echo Windows 2000
ver | find /i "ME" > nul
if %errorlevel%==0 echo Windows ME
ver | find /i "98" > nul
if %errorlevel%==0 echo Windows 98
ver | find /i "95" > nul
if %errorlevel%==0 echo Windows 95

Comment lancer une commande diffrente selon la version de Windows ?


Auteur : kokotis
Si vous souhaitez excuter une commande diffrente en fonction de la version de Windows actuellement
utilise, vous pouvez utiliser le code prsent ci-dessous. Pour excuter une commande :

ver | find /i "xp" > nul


if %errorlevel%==0 echo Windows XP
ver | find /i "vista" > nul
if %errorlevel%==0 echo Windows Vista
ver | find /i "NT" > nul
if %errorlevel%==0 echo Windows NT
ver | find /i "2000" > nul
if %errorlevel%==0 echo Windows 2000
ver | find /i "ME" > nul
if %errorlevel%==0 echo Windows ME
ver | find /i "98" > nul
if %errorlevel%==0 echo Windows 98
ver | find /i "95" > nul
if %errorlevel%==0 echo Windows 95

Pour excuter un script :

ver | find /i "xp" > nul


if %errorlevel%==0 goto xp

- 28 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

ver | find /i "vista" > nul


if %errorlevel%==0 goto winvista
ver | find /i "NT" > nul
if %errorlevel%==0 goto winnt
ver | find /i "2000" > nul
if %errorlevel%==0 goto win2000
ver | find /i "ME" > nul
if %errorlevel%==0 goto winme
ver | find /i "98" > nul
if %errorlevel%==0 goto win98
ver | find /i "95" > nul
if %errorlevel%==0 goto win95

echo Version non reconnue


goto fin

:xp
:: ici le code pour windows XP

:winvista
:: ici le code pour windows Vista

:winnt
:: ici le code pour windows NT

:win2000
:: ici le code pour windows 2000

:winme
:: ici le code pour windows ME

:win98
:: ici le code pour windows 98

:win95
:: ici le code pour windows 95

:fin

Comment lancer une application ?


Auteur : kokotis
Soit vous tapez directement le chemin de l'executable ou alors vous pouvez utiliser la commande Start

start notepad.exe

Il s'agit d'un excution asynchrone, on n'attend pas la fin du programme. L'intrt de Start, entre autres,
est l'option Wait qui, elle, force l'attente de la fin du programme.

Comment tester si un processus est lanc ?


Auteur : kokotis
On va coupler les commandes TaskList et findstr :

- 29 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

TaskList | findstr /c:firefox.exe > nul


If %errorlevel%== 0 echo Firefox est lanc

Comment rcuprer le PID d'un processus ?


Auteurs : Djug - jsd03 - kokotis
Si on cherche les numros de processus correspondant un nom de fichier excutable, on couple les
commandes tasklist et findstr dans une boucle for :

for /f "tokens=2 delims= " %%i in ('tasklist ^| findstr /i /c:"explorer"') do echo %%i

Il est galement possible d'afficher un tableau contenant les information d'un processus (son PID et
l'utilisation de la mmoire) avec la syntaxe suivante :

tasklist /FI "IMAGENAME eq NomProcessus.exe"

Exemple avec l'explorateur Windows :

tasklist /FI "IMAGENAME eq explorer.exe"

On peut galement utiliser WMIC (Windows Management Instrumentation "Command-Line") (avec Windows
XP et suprieur) pour faire cela. Pour certains, cette syntaxe est plus simple utiliser voire plus explicite
et se rapprochant plus d'une commande SQL que tasklist.

wmic Process where (Name="NomProcessus.exe") GET processid | more +1

Par exemple :

wmic Process where (Name="cmd.exe") GET processid | more +1

Pour obtenir plus d'informations sur le programme lanc, utilisez la commande suivante :

wmic Process where (Name="cmd.exe") GET /value

Comment tuer un processus ?


Auteur : kokotis
Pour tuer un processus on peut utiliser la commande taskkill comme ceci :

- 30 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

Taskkill /IM nonDuProcessus.exe

Comment savoir quel processus utilise tel fichier ?


Auteur : kokotis
Avec la commande Handle :

handle nonDuFichier.exe

Comment activer et dsactiver les services ?


Auteur : kokotis
Exemple: Activer le service helpsvc:

sc \\%computername% config helpsvc start= enabled

Dsactiver le service helpsvc:

sc \\%computername% config helpsvc start= disabled

Comment dmarrer et arrter les services ?


Auteur : kokotis
Exemple : Dmarrer le service helpsvc :

net start helpsvc

Arrter le service helpsvc :

net stop helpsvc

Comment crer une tche planifie ?


Auteur : kokotis
On utilise la commande schtasks : dans cette exemple on excute la tche planifie tous les jours a 23 :00 h:

- 31 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

schtasks /create /ru user /rp Password /sc hourly -mo 1 /ST 23:00:00 /TR "C:\chemin\du
\batch.bat" /TN NomDeLaTache

Comment connatre les noms de tous les PC d'un rseau ?


Auteur : kokotis
On utilise la commande Net View

Comment changer la rsolution d'cran en ligne de commande ?


Auteur : kokotis
Pour a il faut tlcharger la commande Setvideo ici : http://jc.bellamy.free.fr/fr/systeme.html#setvideo.
Voici la syntaxe:

Setvideo x=1440 y=900 b=32 f=60

Comment ractiver l'accs a la base de registre et au gestionnaire de tches ?


Auteur : Djug
Pour ractiver l'accs l'diteur de registre regedit utiliser :

REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v


DisableRegistryTools /t REG_DWORD /d 0 /f

Et pour ractiver l'accs au gestionnaire de tches :

REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskMgr /t


REG_DWORD /d 0 /f

Comment arrter/redmarrer l'ordinateur par la ligne de commande ?


Auteur : Djug
Pour arrter le systme via la ligne de commande ou dans un fichier batch, on utilise la commande
shutdown. Voici la syntaxe de cette commande :

Shutdown -s -t xx -c "Message"

xx : nombre de seconde attendre avant l'arrt de l'ordinateur (0 : pour un arrt immdiat)


Message : un message qui accompagne l'opration

Pour redmarrer remplacer -s par -r.

- 32 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

Pour fermer la session remplacer -s par -l.


Et pour annuler une des oprations prcdentes, utilisez shutdown -a (avant l'expiration du dlai dfini
par -t).

Comment mettre l'ordinateur en veille prolonge ?


Auteur : Thomas Garcia (Shawn12)
Il est possible de mettre en veille prolonge l'ordinateur en utilisant la commande suivante :

rundll32.exe powrprof.dll,SetSuspendState

- 33 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

Sommaire > Commandes externes


Quelle est la diffrence entre commande interne et commande externe ?
Auteur : Thomas Garcia (Shawn12)
Il existe deux sortes de commandes pouvant tre excutes dans l'invite de commande.
Il y a les commandes internes, directement intgres dans l'interprteur de commandes comme "del" et
"dir". Ces commandes peuvent tre uniquement excutes depuis une invite de commande (ou en appelant
l'interprteur de commande cmd.exe).
Il existe galement une grande quantit de commandes externes qui utilisent un fichier excutable
additionnel. Cet excutable peut tre appel depuis l'invite de commande ou bien via Dmarrer --> Excuter.
Ces excutables ne sont gnralement par fournis avec le systme d'exploitation et doivent tre tlchargs
sur le systme.

Comment associer une extension une application ?


Auteur : kokotis
On utilise la commande associate :

Associate .zip C:\chemin\de\application.exe

Comment rcuprer tous les droits sur un fichier ou un rpertoire ?


Auteur : kokotis
On utilise la commande takeown

Takeown C:\chemin\du\fichier\ou\rpertoire

Comment copier un texte dans le presse papier ?


Auteur : kokotis
On utilise la commande Clip :

Echo Ce texte sera copier dans le presse papier|clip

Tlchargement de la commande

Comment remplacer un mot dans un fichier.txt ?


Auteur : kokotis
Pour remplacer un mot par un autre mot dans un fichier ".txt" on peut utiliser la commande Switch, voici
la syntaxe : Switch fichier.txt chane a remplacer chane de remplacement

- 34 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

Tlcharger switch ici :

Comment rendre une fentre invisible ?


Auteur : Djug
Il est possible de cacher la fentre d'un processus en cours d'excution en utilisant la commande externe
cmdow avec l'option /hid de la manire suivante :
Exemple : le fentre cache est celle de la calculatrice de Windows :

cmdow Calculatrice /hid

Pour l'afficher de nouveau en remplace l'option /hid par /vis :

cmdow Calculatrice /vis

Vous pouvez tlcharger cette commande sur ce site.

Comment compiler un Batch ?


Auteurs : Djug - kokotis
Oui, il est possible de compiler les batch (c'est--dire de les transformer en excutables et cela permet
galement de protger le code contre la modification).
Pour cela, on peut utiliser Quick Batch File Compiler de Abyssmedia.

Comment crer un raccourci vers un fichier ?


Auteur : kokotis
Pour crer un raccourci vers un fichier, on utilise la commande externe Shortcut, dont voici la syntaxe :

shortcut /f:"C:\Chemin\du\raccourci.Lnk" /t:"C:\Rpertoire\ou\ce\lance\l?application"

Shortcut peut se tlcharger ici : http://www.optimumx.com/download/#Shortcut

Comment executer un script sur un serveur distant ?


Auteur : prgasp77
Bonjour tous.
Je me permet de rpondre cette question priori sans rponse sur plusieurs dizaines de topics, sur dvp
comme sur d'autres forums.

- 35 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

La situation
Un serveur muni de apache possde un script quelconque excutable par le biais de HTTP (exemple : script
PHP).
Un pc sous Windows veut excuter ce script de manire automatique sans devoir lancer un navigateur et
rcuprer les donnes de ce script.
La soltuion
Il est ncessaire d'utiliser l'excutable netcat (60Ko ce jour), programme similaire telnet (en mieux :)).
Dans un dossier quelconque, mettre nc.exe (netcat), le fichier requete.txt et le fichier requete.bat (cf. ci-
aprs).
L'explication
Le fichier requete.txt contient la requte complte d'un fichier suivant le protocole HTTP/1.1
Le fichier requete.bat contient la ligne de commande

type requete.txt | nc.exe domaine_du_serveur 80 > result.txt

Cette ligne de commande fait envoyer par netcat la requte HTTP contenue dans le fichier requete.txt.
Le fichier requete.txt
Il doit contenir ces termes (customisable), sans les retours chariots (\n mais pas \r : convention UNIX)

GET http://domaine_du_serveur/script HTTP/1.1


Host: domaine_du_serveur
User-Agent: ExecScript/1.0
Keep-Alive: 300
Proxy-Connection: keep-alive
Cache-Control: max-age=0

- 36 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

Sommaire > Fonctions utiles


Existe-t-il des fonctions pour traiter les chaines de caractres ?
Auteur : I'm_HERE
Voici quelques fonctions pour traiter les chanes de caractres :

@echo off & setlocal enabledelayedexpansion enableextensions

set "str=%*"
if not defined str (set /p str=Entrez une chaine: %)
echo.

call :length "%str%"


call :count "%str%"
call :reverse "%str%"
call :ucase "%str%"
call :2hexa "%str%"

set length
set [
set reverse
set ucase
set hexa

pause
endlocal & goto:eof

:length
for /f "tokens=1* delims=][" %%a in ('
"%comspec% /u /c echo:%~1|more|find /n /v """
') do Set /A "length=%%a-4"
goto:eof

:count
for /f %%: in ('
"%comspec% /u /c echo:%~1|more|sort"
') do Set /A "[%%:]+=1"
goto:eof

:reverse
for /f "tokens=1* delims=:" %%a in ('
"%comspec% /u /c echo:%~1|more|findstr /o ."
') do Set "reverse=%%b!reverse!"
goto:eof

:ucase
for /f "tokens=1* delims=" %%a in ('
"tree \%1|find ":\""
') do Set "ucase=%%b"
goto:eof

:2hexa
<nul>$asc$ set/p"=%~1"
for /l %%i in (1 1 %length%) do <nul>>$hex$ set/p"="
for /f "skip=1 tokens=3" %%i in ('
fc /b $hex$ $asc$
') do Set "hexa=!hexa!%%i-"
set "hexa=%hexa:~0,-1%" & del $asc$ $hex$
goto:eof

fonction Length : affiche le nombre de caractres saisie


fonction count : compte le nombre de lettre dans la chaine
fonction reverse : inverse la chaine

- 37 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/
FAQ Windows Batch

fonction ucase : transforme la chane en majuscule


fonction hexa : affiche la valeur hexadecimal de chaque lettre

Comment convertir une valeur hexadcimal en valeur dcimale ?


Auteur : maxim_um
Le code ci-dessous convertit la valeur hexadcimale 2F5 en dcimal :

set hexa=2F5
set /a valeur=0x%hexa%
echo %valeur%

- 38 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son
contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et
intrts.
http://windows.developpez.com/faq/batch/

Вам также может понравиться