[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] 批处理for命令tokens怎么提取到空格后面的数字?

最近才用tokens这个命令,目的是想实现判断本地连接名称然后实现批处理修改IP,但是我发现有的电脑是本地连接 2,中间有个空格,导致提取时只能提取到本地连接这几个字,请高手指教,谢谢
for /f "tokens=4*" %%a in ('netsh interface show interface ^| findstr "已连接"') do set "ConName=%%~a"
echo 当前正在上网的网络连接名是【%ConName%】
pause

set "ConName=%%a%%b"
试试这样可以吗?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

……"tokens=3*"……set "ConName=%%b"
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

回复 3# zaqmlp

可以了,谢谢,大佬给力

TOP

回复 3# zaqmlp


    你好 我想问一下
@echo off
setlocal enabledelayedexpansion
set "n=0"
for /f "skip=3 tokens=4* " %%i in ('netsh interface show interface') do (
        
        set /a n+=1
        set "name!n!=%%i"
        
        
)
for /l %%i in (1,1,%n%) do echo %%i:!name%%i!
:Select_Card
set /p "Select_Card=选择网卡(请勿选择本地连接):"
if "%Select_Card%" == "1" ( set card=!name1! ) else (
if "%Select_Card%" == "2" ( set card=!name2! ) else (
if "%Select_Card%" == "3" ( set card=!name3! ) else (
if "%Select_Card%" == "4" ( set card=!name4! ) else (
if "%Select_Card%" == "5" ( set card=!name5! ) else ( echo. & echo 未键入任何参数! & pause>nul & cls & goto :Select_Card )))))

set /a random=%random%%%230
netsh interface ip set address %card% static 192.168.225.%random% 255.255.255.0


pause&exit

netsh interface show interface


我这个怎么显示 空格后面的内容

TOP

返回列表