Page 1 sur 1

Conversion d'un fichier .txt

Posté : 14 avr. 2009 13:36
par macflemme
Bonjour à tous,

Je m'y connais pas beaucoup en prog en générale mais plutôt en réseau. En effet j'essaie de récupérer les adresses statiques stockées sur mon DHCP Linux pour les injecter dans un DHCP Windows.
J'ai récupérer le fichier Linux avec les différentes adresses IP statiques (ou réservées) qui est de la forme suivante:

host monPC1 {
hardware ethernet 00:1A:A0:26:5E:55;
fixed-address 192.168.1.11;
option host-name "monPC1";
}
host monPC2 {
hardware ethernet 00:1B:38:8F:5D:55;
fixed-address 192.168.1.23;
option host-name "monPC2";
}
....
J'aimerais le convertir pour qu'il inclut la commande pour ajouter une adresse réservée au DHCP de Windows, et sera donc de la forme suivante:
dhcpcmd 127.0.0.1 addreservedip 192.168.1.0 192.168.1.11 001AA0265E55 monPC1 dhcp
dhcpcmd 127.0.0.1 addreservedip 192.168.1.0 192.168.1.23 001B388F5D55 monPC2 dhcp
....

Si quelqu'un a une idée, je suis preneur...
Je vous remercie d'avance et bonne journée

Re: Conversion d'un fichier .txt

Posté : 14 avr. 2009 20:20
par flox
Salut,

il faudrai se baser sur un for, mais cela risque d'etre complexe dans la mesure ou chaque bloc fait 4 lignes.

Peut être retraité le fichier source pour n'avoir qu'une ligne par host.

@+

Re: Conversion d'un fichier .txt

Posté : 14 avr. 2009 22:01
par Batch_Man
Bonsoir et bienvenue,

Si tu me dis combien de PC tu as en réseaux je pourrais surement faire ton script

Batch_Man

Re: Conversion d'un fichier .txt

Posté : 15 avr. 2009 10:01
par macflemme
Bonjour et merci de me répondre, en fait sur il y a 400 machines, mais les ip réservées sont moins bien évidemment. Pour leur nombre je ne sais pas, je n'ai pas compté à vrai dire, cela serait trop long. Faut il vraiment cette information ..??

Re: Conversion d'un fichier .txt

Posté : 15 avr. 2009 15:55
par Batch_Man
ça serait mieux oui.

Tu peux me le dire en MP biensûr.

Si il y à 400 machines dis moi si ça fonctionne ( c'est long )

Code : Tout sélectionner

@ECHO OFF

DEL /Q ESSAIS*.TXT 2>NUL>NUL

FOR /F "TOKENS=2 DELIMS= " %%A IN ('TYPE "%SYSTEMDRIVE%\AuroFix.txt" ^| Find "host "') DO (
     FOR /F "TOKENS=3,4,5,6,7,8 DELIMS=:; " %%I IN ('TYPE "%SYSTEMDRIVE%\AuroFix.txt" ^| Find "hardware"') DO (
          FOR /F "TOKENS=2 DELIMS=; " %%E IN ('TYPE "%SYSTEMDRIVE%\AuroFix.txt" ^| Find "fixed-address"') DO (
               ECHO dhcpcmd 127.0.0.1 addreservedip 192.168.1.0 %%E %%I%%J%%K%%L%%M%%N %%A dhcp >> ESSAIS.TXT)
                    )
                         )

FOR /L %%E IN (4,4,400) DO (
     FOR /F "TOKENS=*" %%A IN ('TYPE ESSAIS.TXT ^| FINDSTR /N "addreservedip"') DO (
          FOR /F "TOKENS=2 DELIMS=:" %%I IN ('ECHO %%A ^| FINDSTR "%%E:"') DO ECHO %%I >> ESSAIS2.TXT)
               )
     
NOTEPAD ESSAIS2.TXT