BATCH FILE - NOVICE

ALEX818 -  
 ALEX818 -
Bonjour,
Je ne suis pas fort en batchs et sollicite votre aide.
Je souhaite vérifier la présence d'une entrée dans le fichier host et l'incrémenter si elle n'existe pas.
Mon fichier :

@ ECHO OFF
set 192.168.1.5 ordi3=%1
IF EXIST FIND "%1" %systemroot%\system32\drivers\etc\hosts GOTO END
ELSE ECHO %1 >> %systemroot%\system32\drivers\etc\hosts
:END
ECHO COPIE TERMINEE FICHIER HOST

MERCI pour votre aide, bonne journée.

André
Configuration: Windows XP
Firefox 3.0.6

2 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    qu'entends tu par incrémenter ?
    que représente %1 ?
    si le but est de rajouter une entrée si elle n'existe pas, je ferais

    set nom=192.168.1.5       ordi3
    find "%nom%" %systemroot%\system32\drivers\etc\hosts > nul
    if errorlevel 1 ECHO  %nom% >> %systemroot%\system32\drivers\etc\hosts
    ECHO COPIE TERMINEE FICHIER HOST
    0
  2. ALEX818
     
    Hello dubcek,

    Merci. Comme t'as pu le comprendre je ne suis pas un spécialiste du sujet ;)
    Dans mon batch, %1 correspond à '192.168.1.5 ordi3', c'est pour définir une variable (fixe) et ne plus à avoir à retaper '192.168.1.5 ordi3' à chaque fois. Mais set nom= est comme il faut faire.
    Merci beaucoup dubcek, cela fonctionne parfaitement, t'es un prince.
    Bonne journée,
    Bye
    0