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

FAQ Windows Batch

Date de publication : 1 septembre 2007 Dernire mise jour : 25 octobre 2010

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.

Ont contribu cette FAQ :

Senji - maxim_um - I'm_HERE - prgasp77 - dourouc05 - jsd03 (Site de 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

-3Les 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

Sommaire > Prsentation de la FAQ Batch Comment bien utiliser cette FAQ et le forum ?
Auteurs : 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 ?


Auteurs : 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 ?


Auteurs : 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.

-4Les 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

Sommaire > Questions gnrales Qu'est-ce que MS-DOS ?


Auteurs : 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 ?


Auteurs : kokotis , Dans la console tapez la commande Help

Comment faire passer les accents dans un script batch ?


Auteurs : 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 ?


Auteurs : 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?


Auteurs : kokotis , Voici quelques liens utiles : http://www.uwasa.fi/~ts/http/http2.html#batch http://www.astase.com/products/?Outils%20PowerBatch http://groups.yahoo.com/group/batchworld/ http://www.robvanderwoude.com/index.html Quelques outils pour enrichir l'OS cot batch http://www.sysinternals.com/ http://unxutils.sourceforge.net/

-5Les 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 2010 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. Cette page est dpose la SACD.

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?
Auteurs : 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 ?


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

-6Les 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

Sommaire > Commandes internes

-7Les 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

Sommaire > Commandes internes > Commandes gnrales de l'invite de commande Comment afficher du texte dans la console ?
Auteurs : kokotis , On utilise la commande Echo :
Echo "Texte a afficher"

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


Auteurs : 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 ?


Auteurs : kokotis , On utilise la commande Title
Title Ici votre titre

Comment ajouter temporairement un chemin au PATH dans un batch ?


Auteurs : kokotis , On utilise la commande Set :
Set Path=%Path%;C:\rpertoire

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


Auteurs : 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

-8Les 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

if %VrCompt% equ 5 echo if %VrCompt% lss 5 echo

Chaine de bonne longueur Chaine trop courte

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


Auteurs : 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 ?


Auteurs : 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 ?


Auteurs : 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 ?


Auteurs : 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 ?


Auteurs : 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.
-9Les 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

Si l'on fait glisser deux fichiers on utilise aussi la variable %2, ainsi de suite. 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 ?


Auteurs : 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

Comment effacer la console dans un batch ?


Auteurs : kokotis , On utilise la commande cls (CLear Screen)

Comment changer la couleur du texte dans la console ?


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

Comment dfinir la taille de la fentre console ?


Auteurs : 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

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

On peut galement dcomposer la date de cette faon :


echo echo echo echo %date% %date:~0,2% %date:~3,2% %date:~6,4%

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

Comment afficher l'heure ?


Auteurs : kokotis , On utilise la variable %time%
Echo %time%

Comment marquer une pause pendant 5 secondes ?


Auteurs : 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 ?


Auteurs : I'm_HERE , Il est possible d'utiliser un fichier de commandes hybride (batch/vbs) :
@echo off echo>_.vbs wscript.echo eval("date-1") - 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

for /f "tokens=*" %%y in ('cscript/nologo _.vbs') do (set y=%%y) 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 ?


Auteurs : 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 2010 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. Cette page est dpose la SACD.

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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

Sommaire > Commandes internes > Manipulation de variables Comment demander l'utilisateur de saisir un mot et le placer dans une variable ?
Auteurs : 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 ?


Auteurs : kokotis , On utilise la commande set :
set nomDeLaVariable=contenuDeLaVariable

Comment remplacer un caractre dans une variable ?


Auteurs : 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 ?
Auteurs : kokotis , Il faut utiliser l'expansion retarde enableDelayedExpansion avant la boucle. de variable d'environnement : On ajoute setlocal

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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

endlocal

Comment dcomposer un chemin de fichier contenu dans une variable ?


Auteurs : 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

Sommaire > Commandes internes > Commandes sur les fichiers Comment crire dans un fichier.txt ?
Auteurs : 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 ?


Auteurs : 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 ?


Auteurs : kokotis , On utilise la commande Type :
Type nomDuFichier.txt

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


Auteurs : 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 ?


Auteurs : 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 2010 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. Cette page est dpose la SACD.

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


Auteurs : 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 ?


Auteurs : 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 ?


Auteurs : 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 2010 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. Cette page est dpose la SACD.

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 ?


Auteurs : kokotis , On utilise la commande Print
Print fichier.txt

Comment renommer un fichier ?


Auteurs : kokotis , On peut utiliser les commandes Ren et Rename:
Ren "C:\rpertoire\fichier.exe" "nouveauNom.exe"

Comment tester si un fichier existe ou pas ?


Auteurs : 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) ?


Auteurs : 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

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

Comment supprimer un fichier ?


Auteurs : kokotis , On utilise la commande Del :
del nomDuFichier.exe /f /q

Comment rechercher une chane de caractres dans un fichier ?


Auteurs : 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 ?


Auteurs : kokotis , On utilise la commande FC :
Fc fichier1.txt fichier2.txt

Comment comparer le contenu de deux fichiers ?


Auteurs : kokotis , On utilise la commande Comp
Comp Fichier1.txt fichier2.txt

Comment remplacer les espaces par des _ dans les noms de fichiers ?
Auteurs : 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

ren "%fichierbck%" "%fichier%"

Comment dplacer des fichiers ?


Auteurs : 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 ?


Auteurs : 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 ?


Auteurs : kokotis ,
echo un texte > "%date:~0,2%-%date:~3,2%-%date:~6,4%.txt"

Comment supprimer les fichiers.txt vides ?


Auteurs : 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) ?
Auteurs : 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

Sommaire > Commandes internes > Commandes sur les rpertoires Comment changer de rpertoire courant / se dplacer dans l'arborescence ?
Auteurs : 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 ?


Auteurs : kokotis , On utilise la commande Md :

- 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

Md nonDuRpertoire

Comment rcuprer le chemin du rpertoire courant ?


Auteurs : kokotis , On utilise la variable %cd%. 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 ?


Auteurs : 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 ?


Auteurs : 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 ?


Auteurs : 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

- 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

ren "%VrImage%" "image_%Compt%.jpg"

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


Auteurs : kokotis , Il suffit de boucler en contatnant la variable date
for /r "C:\MonRep\" %%i in (*.*) do ren "%%i" "%date:~0,2%-%date:~3,2%-%date:~6,4%_%%~nxi"

Comment partager un rpertoire ?


Auteurs : kokotis , On utilise la commande Net Share :
Net Share NomDuPartage=C:\chemin\du\rpertoire\\partager

Comment supprimer un rpertoire ?


Auteurs : kokotis , On utilise la commande Rd :
Rd C:\chemin\du\rpertoire /s /q

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


Auteurs : kokotis , On utilise la commande Tree :
Tree C:\chemin\du\rpertoire\source

Comment trier des fichiers par extensions ?


Auteurs : 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%"

- 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

goto :eof :finTriExts

Comment trier des fichiers par dates de cration ?


Auteurs : kokotis ,
for /r "%~1\" %%i in (*.jpg) do set VrNamFch=%%i& set VrDatFch=%%~ti& call :movFch goto fin :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?


Auteurs : 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


Auteurs : 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 ?


Auteurs : kokotis ,
set VrSource=C:\MonRep - 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

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 & )

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


Auteurs : 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

Sommaire > Commandes internes > Commandes disque Comment afficher le numro de srie d'un volume ?
Auteurs : kokotis , On utilise la commande Vol

Comment formater un disque dur ?


Auteurs : 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) ?
Auteurs : kokotis , On utilise la commande subst :
subst S: E:\Mon Dossier

Comment convertir une partition FAT32 ver NTFS ?


Auteurs : kokotis , On utilise la commande convert :
Convert C:\ /FS:NTFS

Comment comparer le contenu de deux disquettes ?


Auteurs : 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

Sommaire > Commandes internes > Commandes systme Comment ajouter un chemin vers un rpertoire au path ?
Auteurs : kokotis ,
Path = %path%; nouveau_chemin

Comment connatre la version de Windows ?


Auteurs : kokotis , On utilise la commande Ver Voici un script pour excuter une commande diffrente selon la version de windows:
ver if ver if ver if ver if ver if ver if ver if | find /i "xp" > nul %errorlevel%==0 echo Windows | find /i "vista" > nul %errorlevel%==0 echo Windows | find /i "NT" > nul %errorlevel%==0 echo Windows | find /i "2000" > nul %errorlevel%==0 echo Windows | find /i "ME" > nul %errorlevel%==0 echo Windows | find /i "98" > nul %errorlevel%==0 echo Windows | find /i "95" > nul %errorlevel%==0 echo Windows

XP Vista NT 2000 ME 98 95

Comment lancer une commande diffrente selon la version de Windows ?


Auteurs : 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 if ver if ver if ver if ver if ver if ver if | find /i "xp" > nul %errorlevel%==0 echo Windows | find /i "vista" > nul %errorlevel%==0 echo Windows | find /i "NT" > nul %errorlevel%==0 echo Windows | find /i "2000" > nul %errorlevel%==0 echo Windows | find /i "ME" > nul %errorlevel%==0 echo Windows | find /i "98" > nul %errorlevel%==0 echo Windows | find /i "95" > nul %errorlevel%==0 echo Windows

XP Vista NT 2000 ME 98 95

Pour excuter un script :


ver | find /i "xp" > nul

- 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

if ver if ver if ver if ver if ver if ver if

%errorlevel%==0 goto xp | find /i "vista" > nul %errorlevel%==0 goto winvista | find /i "NT" > nul %errorlevel%==0 goto winnt | find /i "2000" > nul %errorlevel%==0 goto win2000 | find /i "ME" > nul %errorlevel%==0 goto winme | find /i "98" > nul %errorlevel%==0 goto win98 | find /i "95" > nul %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 ?


Auteurs : kokotis , Soit vous tapez directement le chemin de l'executable ou alors vous pouvez utiliser la commande Start
start notepad.exe

- 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

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 ?


Auteurs : kokotis , On va coupler les commandes TaskList et findstr :
TaskList | findstr /c:firefox.exe > nul If %errorlevel%== 0 echo Firefox est lanc

Comment rcuprer le PID d'un processus ?


Auteurs : kokotis , Djug , jsd03 , 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 :

- 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

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

Comment tuer un processus ?


Auteurs : kokotis , Pour tuer un processus on peut utiliser la commande taskkill comme ceci :
Taskkill /IM nonDuProcessus.exe

Comment savoir quel processus utilise tel fichier ?


Auteurs : kokotis , Avec la commande Handle :

handle nonDuFichier.exe

Comment activer et dsactiver les services ?


Auteurs : 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 ?


Auteurs : kokotis , Exemple : Dmarrer le service helpsvc :
net start helpsvc

Arrter le service helpsvc :

- 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

net stop helpsvc

Comment crer une tche planifie ?


Auteurs : kokotis , On utilise la commande schtasks : dans cette exemple on excute la tche planifie tous les jours a 23 :00 h:
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 ?


Auteurs : kokotis , On utilise la commande Net View

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


Auteurs : 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 ?


Auteurs : 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

- 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

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


Auteurs : 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. 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 ?


Auteurs : 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

Sommaire > Commandes externes Quelle est la diffrence entre commande interne et commande externe ?
Auteurs : 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 ?


Auteurs : kokotis , On utilise la commande associate :
Associate .zip C:\chemin\de\application.exe

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


Auteurs : kokotis , On utilise la commande takeown
Takeown C:\chemin\du\fichier\ou\rpertoire

Tlchargement de la commande

Comment copier un texte dans le presse papier ?


Auteurs : 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 ?


Auteurs : 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

Tlcharger switch

ici :

Comment rendre une fentre invisible ?


Auteurs : 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 ou PowerBatch de Astase.

Comment crer un raccourci vers un fichier ?


Auteurs : 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"

- 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

Shortcut peut se tlcharger ici :

http://www.optimumx.com/download/#Shortcut

Comment executer un script sur un serveur distant ?


Auteurs : 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. 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. ciaprs). 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 2010 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. Cette page est dpose la SACD.

FAQ Windows Batch

Sommaire > Fonctions utiles Existe-t-il des fonctions pour traiter les chaines de caractres ?
Auteurs : 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 call call call call set set set set set :length :count :reverse :ucase :2hexa length [ reverse ucase hexa "%str%" "%str%" "%str%" "%str%" "%str%"

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 2010 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. Cette page est dpose la SACD.

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 ?


Auteurs : 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 2010 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. Cette page est dpose la SACD.