
[已解決]xp系統(tǒng)下如果拔掉網(wǎng)線開機(jī)啟動(dòng)批處理會(huì)導(dǎo)致一直循環(huán)重啟如何修改最后由 ygqiang 于 -3-16 22:23xp系統(tǒng)下如果拔掉網(wǎng)線,開機(jī)啟動(dòng)批處理,會(huì)導(dǎo)致一直循環(huán)重啟。如何修改?現(xiàn)在的批處理代碼功能是:每次xp系統(tǒng)開啟就運(yùn)行1次,獲取c:user-ip.txt文件里面的參數(shù)信息。同時(shí)獲取本地計(jì)算機(jī)的計(jì)算機(jī)名與ip地址。對(duì)比如果一致,就直接退出。如果不一致,就以txt文件里面的參數(shù)修改本地計(jì)算機(jī)。遇到問題:如果把網(wǎng)線拔下來,開機(jī)進(jìn)入xp系統(tǒng),代碼運(yùn)行以后會(huì)自動(dòng)重啟,這樣一直循環(huán)重啟。修改要求:拔掉網(wǎng)線情況下,進(jìn)入xp系統(tǒng)運(yùn)行批處理代碼,如果檢測(cè)出來拔掉網(wǎng)線的情況,就直接循環(huán)3分鐘監(jiān)測(cè),一直持續(xù)到插上網(wǎng)線,才繼續(xù)對(duì)比參數(shù)進(jìn)行后續(xù)操作。
nclick="copycode($('code0'));">復(fù)制代碼
- @echo off
- setlocal enabledelayedexpansion
- ———————————————————————————————————————————————————————————————
- cls
- if not exist c:user-ip.txt (echo txterror & 1pause & exit)
- echo nextok
- 1pause
- cls
- for /f delims= %%i in (c:user-ip.txt) do (
- set /a j+=1
- if !j!==1 set nana=%%i
- if !j!==2 set ipip=%%i
- )
- ———————————————————————————————————————————————————————————————
- cls
- echo %nana%------
- echo %ipip%------
- 1pause
- cls
- set Mask=255.255.255.128
- set Gway=192.168.8.1
- :status
- cls
- @ECHO OFF&Setlocal EnableDelayedExpansion
- set _Name=計(jì)算機(jī)名----&set _Domain=工作組------&set _IPAddress=IP地址------
- set _IPSubnet=子網(wǎng)掩碼----&set _DefaultIPGateway=網(wǎng)關(guān)--------&set _DNSServerSearchOrder=DNS---------
- FOR /F tokens=* %%A IN ('WMIC Path Win32_ComputerSystem Get Domain^,Name /Value 2^>Nul') DO (
- FOR /F tokens=* %%i in (%%A) do set %%i
- )
- echo %Name%------
- echo %IPAddress%------
- 1pause
- cls
- FOR /F tokens=* %%A IN ('WMIC NICConfig WHERe IPEnabled=TRUE GET DefaultIPGateway^,Description^,DNSServerSearchOrder^,IPAddress^,IPSubnet /value 2^>Nul') DO (
- FOR /F tokens=* %%i in (%%A) do set %%i
- )
- echo %Name%------
- echo %IPAddress%------
- 1pause
- cls
- for %%i in (Name IPAddress IPSubnet DefaultIPGateway) do (
- set %%i=!%%i:{=!
- set %%i=!%%i:}=!
- set %%i=!%%i:=!
- echo !_%%i!: !%%i:,=!
- 1pause
- cls
- )
- echo %Name%=========
- echo %IPAddress%=========
- 1pause
- cls
- if %name%==%nana% (
- if %IPAddress%==%ipip% goto :cbsnext
- )
- echo nene
- 1pause
- cls
- cls
- echo 計(jì)算機(jī)名:%nana%
- echo ip地址:%ipip%
- echo 正在修改中...
- 1pause
- cls
- ping 127.0.0.1 -n 2 >nul 2>nul
- ———————————————————————
- cls
- reg add HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlComputerNameComputerName /v ComputerName /t reg_sz /d %nana% /f >nul 2>nul
- reg add HKEY_LOCAL_MACHINESystemCurrentControlSetControlComputerNameActiveComputerName /v ComputerName /t reg_sz /d %nana% /f >nul 2>nul
- reg add HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTcpipParameters /v NV Hostname /t reg_sz /d %nana% /f >nul 2>nul
- reg add HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTcpipParameters /v Hostname /t reg_sz /d %nana% /f >nul 2>nul
- reg add HKLMSYSTEMControlSet001ControlComputerNameActiveComputerName /v ComputerName /t REG_SZ /d %nana% /f
- reg add HKLMSYSTEMControlSet001ServicesTcpipParameters /v NV Hostname /t REG_SZ /d %nana% /f
- reg add HKLMSYSTEMControlSet001ServicesTcpipParameters /v Hostname /t REG_SZ /d %nana% /f
- reg add HKLMSYSTEMControlSet002ControlComputerNameComputerName /v ComputerName /t REG_SZ /d %nana% /f
- ———————————————————————
- cls
- ::用ipconfig /all命令獲取網(wǎng)卡名稱。
- cls
- FOR /F tokens=2* %%i IN ('ipconfig/all^|find /i Ethernet adapter ') DO set macname=%%j
- ::用for命令刪除網(wǎng)卡名稱后面的冒號(hào)。
- cls
- FOR /F tokens=1* delims=: %%i in (%macname%) do set a=%%i
- echo 網(wǎng)卡連接名:%a%
- cls
- 1pause
- cls
- netsh interface ip set address name=%a% source=static addr=%ipip% mask=%Mask% gateway=%Gway% gwmetric=1 >nul 2>nul
- cls
- 1pause
- cls
- shutdown -r -t 2
- :cbsnext
- ———————————————————————
- echo user-ip文件夾中的與本地機(jī)器獲取到的一致
- echo okok
- 1pause
- cls
- exit

