neděle 27. prosince 2009

Změna nastavení IP adresy pomocí dávkového batch (.bat) souboru


Pokud se stejně jako já ocitnete v situaci, kdy potřebujete často měnit nastavení TCP/IP protokolu (IP adresa, maska, …), např. když přenášíte PC mezi prací a domovem a nechcete jej ručně zadávat, mám pro vás pohodlné řešení. Spočívá v automatické změně nastavení pomocí souboru s příponou .bat, kterému se také říká dávkový soubor, anglicky batch file. Do tohoto souboru můžete vložit skript, který se po spuštění souboru vykoná v příkazové řádce (command line, cmd.exe).

Nyní už se podíváme na postup vytvoření takového souboru.

Otevřete si textový editor, nejlépe PSPad.

Pokud chcete nastavit statickou IP adresu vložte následující kód:

netsh interface ipv4 set address name="nazevPripojeni" static ipAdresa maskaSite vychoziBrana 1
netsh interface ipv4 set dns name="nazevPripojeni" static primarniDNSServer primary
netsh interface ipv4 add dns name="nazevPripojeni" sekundarniDNSServer 2
ipconfig /flushdns

kde nazevPripojeni = název připojení u kterého měníte nastavení
ipAdresa = požadovaná IP adresa
maskaSite = požadovaná maska sítě
vychoziBrana = požadovaná adresa výchozí brány
primarniDNSServer = adresa primárního DNS serveru
sekundarniDNSServer = adresa sekundárního DNS serveru

Příklad:

netsh interface ipv4 set address name="Připojení k místní síti" static 192.168.0.1 255.255.255.0 192.168.0.1 1
netsh interface ipv4 set dns name="Připojení k místní síti" static 192.168.0.1  primary
netsh interface ipv4 add dns name="Připojení k místní síti" 192.168.0.2  2
ipconfig /flushdns

Pokud chcete nastavit získávání adres automaticky z dhcp serveru, vložte tento kód:

netsh interface ip set address name="nazevPripojeni" source=dhcp
netsh interface ip set dns name="nazevPripojeni" source=dhcp
ipconfig /flushdns
ipconfig /renew LAN

Nýní textový soubor uložte s příponou bat, např. doma.bat, prace.bat, apod.

Po spuštění souboru se provede změna nastavení.

Podpora v různých verzích windows:

Ve Windows XP by něměl být se spuštěním souboru žádný problém.

Ve Windows Vista a Windows 7 je třeba spustit soubor s administrátorskými právy. (Pravé na soubor => spustit jako správce)

Diakritika v batch filech

Pokud máte lokalizovanou verzi Windows, je možné, že Vaše připojení ponese název „Připojení k místní síti“. Diakritika ovšem může dělat problémy, proto pokud Vám program nastavení nezmění, pauzněte skript probíhající v příkazovém řádku pomocí klávesy pause/break a zkontrolujte název připojení. Pokud obsahuje nečeské znaky, máte dvě možnosti:
  1. přejmenovat ve windowsech svoje připojení
  2. uložit skript s jiným kódováním

ad 2 – otevřete script ve wordpadu a dejte uložit jako, formát souboru zvolte textový dokument – formát MS-DOS. Poté ještě jednou otevřete soubor v PSPadu a zvolte Formát => Latin II a uložte. Nyní by mělo být vše v pořádku a název připojení by se měl v příkazovém řádku zobrazovat správně.

1 komentář:

  1. chcp 1250 změní kódování příkazové řádky (z Latin2 na Win1250).

    OdpovědětVymazat