找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28632|回复: 4

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

[复制链接]
发表于 2019-6-4 10:08:49 | 显示全部楼层 |阅读模式
最近才用tokens这个命令,目的是想实现判断本地连接名称然后实现批处理修改IP,但是我发现有的电脑是本地连接 2,中间有个空格,导致提取时只能提取到本地连接这几个字,请高手指教,谢谢
for /f "tokens=4*" %%a in ('netsh interface show interface ^| findstr "已连接"') do set "ConName=%%~a"
echo 当前正在上网的网络连接名是【%ConName%】
pause
发表于 2019-6-4 10:43:58 | 显示全部楼层
set "ConName=%%a%%b"
试试这样可以吗?
发表于 2019-6-4 11:17:12 | 显示全部楼层
……"tokens=3*"……set "ConName=%%b"
 楼主| 发表于 2019-6-4 11:28:08 | 显示全部楼层
回复 3# zaqmlp

可以了,谢谢,大佬给力
发表于 2022-1-12 16:38:59 | 显示全部楼层
回复 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


我这个怎么显示 空格后面的内容
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 16:47 , Processed in 0.017616 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表