|
|
发表于 2014-12-28 14:27:29
|
显示全部楼层
本帖最后由 tmplinshi 于 2014-12-28 15:03 编辑
回复 4# dnvplj
因为在 WIN7 下,ipconfig /all 输出的是汉化后的文字,所以导致 findstr 查找不到英文单词。
解决方法:
- 方法1:在 findstr 命令里,增加查找中文字符。
- 方法2:运行 chcp 437 将内部代码页切换为英文,再执行 ipconfig /all | findstr ...。
如果之后你还要显示中文字符,那么还要运行 graftabl 936 启用中文字符集显示。- @echo off
- setlocal enabledelayedexpansion
- CHCP 437 >nul
- set command=" ipconfig /all | findstr /c:"IP Address" /c:"IPv4 Address" /c:"Subnet Mask" /rc:"Gateway.*[0-9].*" /c:"DNS Servers" /rc:"[ ][ ][ ]*[0-9]" "
- for /f "tokens=1,2,*" %%a in (' %command% ') do (
- if "%%b"=="" (
- set DNS_Servers2=%%a
- ) else (
- set value=%%c
- set value=!value:*:=!
- set %%a_%%~nb=!value:* =!
- )
- )
- If not defined IP_Address (
- for /f "delims=(" %%a in ("%IPv4_Address%") do (
- set "IP_Address=%%a"
- )
- )
- GRAFTABL 936 >nul
- echo 本机IP为:%IP_Address%
- echo 子网掩码:%Subnet_Mask%
- echo 本机网关:%Default_Gateway%
- echo 首选 DNS:%DNS_Servers%
- echo 备用 DNS:%DNS_Servers2%
- pause
复制代码
|
评分
-
查看全部评分
|