impossibile eseguire il programma console in un file batch


1

Ho un file batch ( run.bat) che serve a cambiare l'impostazione del mio indirizzo IP:

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

Il comando ha funzionato come mi aspettavo quando lo digito direttamente in una cmdshell, ma non quando lo inserisco run.bat(che ho eseguito con accesso da amministratore).

Come posso risolvere questo problema?

Risposte:


1

Quando si digita netshal prompt dei comandi ( cmd), si avvia l'esecuzione del netsh.exeprogramma. Le tre righe successive vengono immesse in quel programma e vengono lette ed elaborate da quel programma.

cmdnon è impostato per consentire questo tipo di cose in un .BATfile. Ma puoi fare la seguente soluzione alternativa per fare in modo che i netshcomandi relativi siano inseriti netsh:

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

Per rendere più leggibile il tuo script, spezza la linea lunga con un ^:

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

1

Devi mettere l'intero comando su una riga in modo che venga passato netshall'eseguibile.

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.