Windows exécutable et extraire des données du file

Sur mon CD-ROM, j'ai ce file: ip.txt qui contient le contenu:

ip="192.168.1.1" netmask="255.255.255.0" gateway="123.456.789.2"

Comment puis-je extraire de ip.txt l'adresse IP, le masque de réseau et le gw et utiliser comme command pour configurer l'IP.

Je sais que la command fonctionne comme ceci: netsh interface ip set address name="Local Area Connection" static 192.168.0.100 255.255.255.0 192.168.0.1 1

Mais je ne sais pas comment faire un file batch pour extraire les informations dont j'ai besoin à partir du file ip.txt , savez-vous comment cela se fait?

Merci.

Pourquoi le lot? Qu'en est-il de Powershell?

Cela pourrait vous donner un sharepoint départ:

 $content = gc C:\ip.txt $ip = $content.split(" ")[0].split('"')[1] $netmask = $content.split(" ")[1].split('"')[1] $gw = $content.split(" ")[2].split('"')[1] $command = "netsh interface ip set address name=`"Local Area Connection`" static $ip $netmask $gw" Invoke-Expression $command $ content = gc C: \ ip.txt $content = gc C:\ip.txt $ip = $content.split(" ")[0].split('"')[1] $netmask = $content.split(" ")[1].split('"')[1] $gw = $content.split(" ")[2].split('"')[1] $command = "netsh interface ip set address name=`"Local Area Connection`" static $ip $netmask $gw" Invoke-Expression $command $ ip = $ content.split ("") [0] .split ('"') [1] $content = gc C:\ip.txt $ip = $content.split(" ")[0].split('"')[1] $netmask = $content.split(" ")[1].split('"')[1] $gw = $content.split(" ")[2].split('"')[1] $command = "netsh interface ip set address name=`"Local Area Connection`" static $ip $netmask $gw" Invoke-Expression $command $ netmask = $ content.split ("") [1] .split ('"') [1] $content = gc C:\ip.txt $ip = $content.split(" ")[0].split('"')[1] $netmask = $content.split(" ")[1].split('"')[1] $gw = $content.split(" ")[2].split('"')[1] $command = "netsh interface ip set address name=`"Local Area Connection`" static $ip $netmask $gw" Invoke-Expression $command $ gw = $ content.split ("") [2] .split ('"') [1] $content = gc C:\ip.txt $ip = $content.split(" ")[0].split('"')[1] $netmask = $content.split(" ")[1].split('"')[1] $gw = $content.split(" ")[2].split('"')[1] $command = "netsh interface ip set address name=`"Local Area Connection`" static $ip $netmask $gw" Invoke-Expression $command $ command = "netsh interface ip set address name =` "Local Area Connection`" static $ ip $ netmask $ gw " $content = gc C:\ip.txt $ip = $content.split(" ")[0].split('"')[1] $netmask = $content.split(" ")[1].split('"')[1] $gw = $content.split(" ")[2].split('"')[1] $command = "netsh interface ip set address name=`"Local Area Connection`" static $ip $netmask $gw" Invoke-Expression $command 

Certes, il y a un moyen plus efficace … mais qu'est-ce que vous avez essayé par vous-même?

For /F tokens^=2-6^ delims^=^" %a in (IP.TXT) do netsh interface ip set address name="Local Area Connection" static %a %c %e

Devrait fonctionner, mais PowerShell est un meilleur pari à long terme.

% a sera l'IP,% c le masque de réseau et% e la passerelle si vous devez les jeter autour d'un peu.