Konsolenprogramm kann nicht in Batch-Datei ausgeführt werden

1

Ich habe eine Batch-Datei ( run.bat), mit der ich meine IP-Adresse ändern kann:

netsh
interface
ip
set address "lan" static 192.168.30.77 255.255.255.0 192.168.30.2

Der Befehl hat wie erwartet funktioniert, wenn ich ihn direkt in eine cmdShell eingebe, aber nicht, wenn ich ihn eingebe run.bat(den ich mit Administratorzugriff ausgeführt habe).

Wie behebe ich das?

Joni Svr
quelle

Antworten:

1

Wenn Sie netshan der Eingabeaufforderung ( cmd) eingeben, starten Sie das netsh.exeProgramm. Die nächsten drei Zeilen werden in dieses Programm eingegeben und von diesem Programm gelesen und verarbeitet.

cmdist nicht so eingerichtet, dass so etwas in einer .BATDatei erlaubt ist . Aber Sie können die folgende Abhilfe tun die machen netsh-related Befehle werden eingegeben netsh:

(echo interface & echo ip & echo set address "lan" static 192.168.30.77 255.255.255.0 192.168.30.2) | netsh

Um Ihr Skript besser lesbar zu machen, brechen Sie die lange Zeile mit einem ^:

(echo interface & echo ip & echo set address "lan" ^
  static 192.168.30.77 255.255.255.0 192.168.30.2) | netsh
G-Man
quelle
1

Sie müssen den gesamten Befehl in eine Zeile setzen, damit er an die netshausführbare Datei übergeben wird.

netsh interface ip set address "lan" static 192.168.30.77 255.255.255.0 192.168.30.2

Xtremity
quelle