Change IP address by just one click?


Recommended Posts

You can do this by creating 2 batch files.

1. First, change the IP address manually to the first IP address

2. Run a Command box and enter "netsh interface dump > c:\windows\ip1.txt" (without quotes) and press enter

3. Exit the Command Box

4. Now change the IP address manually again to the second IP address

5. Run a Command box and enter "netsh interface dump > c:\windows\ip2.txt" (without quotes) and press enter

Batch file 1:

@echo off
echo Changing IP Address to IP Address 1
netsh exec c:\windows\ip1.txt

Batch file 2:

@echo off
echo Changing IP Address to IP Address 2
netsh exec c:\windows\ip2.txt

Now all you have to do is run the appropiate batch file to configure the PC to use that IP address. Just remember not to delete the two text files created. And if you add a shortcut in the quick launch tool bar for each of the batch files, just one click to change like you requested.

Edited by john.porter

Just what i was looking for, thanks a lot =)

Edit: One weird thing though, default gateway stays blank where you normally change IP address, even though everything works fine. What's the reason for this?

Edited by Nitrius

Glad to be of help.

This can also be used to save your setting for backing up purposes or if you are re-formatting etc. If anyone is interested I have a batch file which will save, and restore setting if you pass it parameters and the name of the file.

  Nitrius said:
Just what i was looking for, thanks a lot =)

Edit: One weird thing though, default gateway stays blank where you normally change IP address, even though everything works fine. What's the reason for this?

Again, you have to manually set your network settings before creating this file. This works without fail for me on my Vista system.

Look in one of the text files for the following line:

set address name="<Name of your Connection>" gateway=XXX.XXX.XXX.XXX gwmetric=0 (where XXX.XXX.XXX.XXX is your gateway address)

Is that line there?

If not, Repeat Steps 1-5 again, making sure when you manually set the IP address you set the subnet mask, the default gateway and the dns server settings.....

It works, it's just that the gateway box is empty, though if you check details under customize in the vista network console you can see the gateway address, it's like it been inputted into another place.

Here is how the "dump" ip1/2.txt files looks:

#========================
# Interface configuration
#========================
pushd interface

reset all


popd
# End of interface configuration



# ----------------------------------
# IPv4 Configuration
# ----------------------------------
pushd interface ipv4

reset
set global icmpredirects=enabled
add route prefix=0.0.0.0/0 interface="Local Area Connection" nexthop=xxx.xxx.xxx.xxx
add address name="Local Area Connection" address=xxx.xxx.xxx.xxx


popd
# End of IPv4 configuration



# ----------------------------------
# IPv6 Configuration
# ----------------------------------
pushd interface ipv6

reset


popd
# End of IPv6 configuration



# ----------------------------------
# ISATAP Configuration
# ----------------------------------
pushd interface isatap



popd
# End of ISATAP configuration



# ----------------------------------
# 6to4 Configuration
# ----------------------------------
pushd interface 6to4

reset



popd
# End of 6to4 configuration



# ----------------------------------
# ISATAP Configuration
# ----------------------------------
pushd interface isatap



popd
# End of ISATAP configuration


\#========================
\# Port Proxy configuration
\#========================
pushd interface portproxy

reset


popd

# End of Port Proxy configuration



# ----------------------------------
# TCP Configuration
# ----------------------------------
pushd interface tcp

reset

set global rss=enabled chimney=disabled autotuninglevel=normal congestionprovider=none ecncapability=disabled timestamps=disabled


popd
# End of TCP configuration



# ----------------------------------
# Teredo Configuration
# ----------------------------------
pushd interface teredo
set state servername=teredo.ipv6.microsoft.com.



popd
# End of Teredo configuration



# ----------------------------------
# 6to4 Configuration
# ----------------------------------
pushd interface 6to4

reset



popd
# End of 6to4 configuration

Found another way:

netsh interface ip set address name="Local Area Connection" static IP-ADDRESS SUBNET-MASK DEFAULT-GATEWAY

Just added that into the batch files, one with each IP address, and it seems to work, just as your method did john, just that now the gateway doesn't disappear from the "default gateway" box.

Edited by Nitrius
  Nitrius said:
Found another way:

netsh interface ip set address name="Local Area Connection" static IP-ADDRESS SUBNET-MASK DEFAULT-GATEWAY

Just added that into the batch files, one with each IP address, and it seems to work, just as your method did john, just that now the gateway doesn't disappear from the "default gateway" box.

Fantastic. Glad you got it to work.

Yup calling netsh commands is the easiest fastest way to make changes to your ip and or other settings be it static or dhcp, dns, gateways, wins, etc.. etc.

But I am curious on why your needing to do this? If switching between network, do you not have dhcp? If this in home setup maybe you could change your networks around so you would not have to switch IPs etc.

If you gave us the details -- maybe it would be possible to allow you to do what your wanting to do with no clicks ;)

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.