Conversion d'un fichier .txt

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
macflemme
Batcheur occasionnel
Messages : 2
Enregistré le : 14 avr. 2009 13:24

Conversion d'un fichier .txt

Message 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
Avatar du membre
flox
Administrateur du site
Messages : 158
Enregistré le : 18 janv. 2008 22:05

Re: Conversion d'un fichier .txt

Message 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.

@+
Batch_Man
King Of Batch
Messages : 64
Enregistré le : 09 janv. 2009 00:01

Re: Conversion d'un fichier .txt

Message 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
macflemme
Batcheur occasionnel
Messages : 2
Enregistré le : 14 avr. 2009 13:24

Re: Conversion d'un fichier .txt

Message 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 ..??
Batch_Man
King Of Batch
Messages : 64
Enregistré le : 09 janv. 2009 00:01

Re: Conversion d'un fichier .txt

Message 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
 
Répondre