FAQ Windows BatchConsultez toutes les FAQ

Nombre d'auteurs : 11, nombre de questions : 104, dernière mise à jour : 30 mars 2017 

 
OuvrirSommaireCommandes internesCommandes système
 
Sélectionnez

Path = %path%; nouveau_chemin
Créé le 5 janvier 2008  par kokotis

On utilise la commande Ver

Voici un script pour exécuter une commande différente selon la version de windows:

 
Sélectionnez

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
Créé le 5 janvier 2008  par kokotis

Si vous souhaitez exécuter une commande différente en fonction de la version de Windows actuellement utilisée, vous pouvez utiliser le code présenté ci-dessous. Pour exécuter une commande :

 
Sélectionnez

    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 exécuter un script :

 
Sélectionnez

    ver | find /i "xp" > nul
     if %errorlevel%==0 goto xp
    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

1 commentaire Donner une note à l'article (0)

Créé le 15 février 2009  par kokotis

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

 
Sélectionnez

start notepad.exe

Il s'agit d'un exécution asynchrone, on n'attend pas la fin du programme. L'intérêt de Start, entre autres, est l'option Wait qui, elle, force l'attente de la fin du programme.

Créé le 6 octobre 2007  par kokotis

On va coupler les commandes TaskList et findstr :

 
Sélectionnez

TaskList | findstr /c:firefox.exe > nul
If %errorlevel%== 0 echo Firefox est lancé
Créé le 6 octobre 2007  par kokotis

Si on cherche les numéros de processus correspondant à un nom de fichier exécutable, on couple les commandes tasklist et findstr dans une boucle for :

 
Sélectionnez

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 mémoire) avec la syntaxe suivante :

 
Sélectionnez

tasklist /FI "IMAGENAME eq NomProcessus.exe"

Exemple avec l'explorateur Windows :

 
Sélectionnez

tasklist /FI "IMAGENAME eq explorer.exe"

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

 
Sélectionnez

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

Par exemple :

 
Sélectionnez

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

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

 
Sélectionnez

wmic Process where (Name="cmd.exe") GET /value
Mis à jour le 21 août 2009  par kokotis, Djug, jsd03

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

 
Sélectionnez

Taskkill /IM nonDuProcessus.exe
Créé le 6 octobre 2007  par kokotis

Avec la commande Handle :

 
Sélectionnez

handle nonDuFichier.exe
Créé le 5 janvier 2008  par kokotis

Exemple: Activer le service helpsvc:

 
Sélectionnez

sc \\%computername% config helpsvc start= enabled

Désactiver le service helpsvc:

 
Sélectionnez

sc \\%computername% config helpsvc start= disabled
Créé le 6 octobre 2007  par kokotis

Exemple : Démarrer le service helpsvc :

 
Sélectionnez

net start helpsvc

Arrêter le service helpsvc :

 
Sélectionnez

net stop helpsvc
Créé le 6 octobre 2007  par kokotis

On utilise la commande schtasks : dans cette exemple on exécute la tâche planifiée tous les jours a 23 :00 h:

 
Sélectionnez

schtasks /create /ru user /rp Password /sc hourly -mo 1 /ST 23:00:00 /TR "C:\chemin\du\batch.bat" /TN NomDeLaTache
Créé le 6 octobre 2007  par kokotis

On utilise la commande Net View

Créé le 6 octobre 2007  par kokotis

Pour ça il faut télécharger la commande Setvideo ici : http://jc.bellamy.free.fr/fr/systeme.html#setvideo.
Voici la syntaxe:

 
Sélectionnez

Setvideo x=1440 y=900 b=32 f=60
Créé le 5 janvier 2008  par kokotis

Pour réactiver l'accès à l'éditeur de registre regedit utiliser :

 
Sélectionnez

REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableRegistryTools /t REG_DWORD /d 0 /f

Et pour réactiver l'accès au gestionnaire de tâches :

 
Sélectionnez

REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskMgr /t REG_DWORD /d 0 /f

1 commentaire Donner une note à l'article (5)

Créé le 15 février 2009  par Djug

Pour arrêter le système via la ligne de commande ou dans un fichier batch, on utilise la commande shutdown. Voici la syntaxe de cette commande :

 
Sélectionnez

Shutdown -s -t xx -c "Message"
  • xx : nombre de seconde à attendre avant l'arrêt de l'ordinateur (0 : pour un arrêt immédiat)
  • Message : un message qui accompagne l'opération

Pour redémarrer remplacer -s par -r.
Pour fermer la session remplacer -s par -l.
Et pour annuler une des opérations précédentes, utilisez shutdown -a (avant l'expiration du délai défini par -t).

Commentez Donner une note à l'article (0)

Créé le 15 février 2009  par Djug

Il est possible de mettre en veille prolongée l'ordinateur en utilisant la commande suivante :

 
Sélectionnez
rundll32.exe powrprof.dll,SetSuspendState
Créé le 15 février 2009  par Thomas Garcia (Shawn12)
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2013 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même 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 intérêts.