标题: [文本处理] BAT如何显示文本,然后选择某行进行处理? [打印本页]
作者: newswan 时间: 2014-3-24 19:18 标题: BAT如何显示文本,然后选择某行进行处理?
win8没有合并网络名,也没发删除已经记住的网络
可以用netsh命令删除
先用查看记住的网络名
netsh wlan show profile
然后删除某个网络名
netsh wlan del profile name=“xxxx”
用批处理文件,显示记住的网络名,然后选择一个网络名,然后删除。
for /f "usebackq delims=: tokens=2" %%i in (`netsh wlan show profile`) do (set /a num+=1&set xx=%%i& echo !num! !xx!)
问题是:删除的代码怎么写?
谢谢
作者: 522235677 时间: 2014-3-24 19:51
- @echo off & setlocal enabledelayedexpansion
-
- for /f "skip=3 tokens=2 delims=: " %%a in ('netsh wlan show profile') do (set /a n+=1&echo !n!.%%a&set n!n!=%%a)
- set /p in=输入编号:
- call netsh wlan del profile name="%%n%in%%%"
- pause
复制代码
1.2G
2.Public
输入编号:1
已从接口“无线网络连接”中删除配置文件“2G”。
请按任意键继续. . .
作者: newswan 时间: 2014-3-24 21:24
本帖最后由 newswan 于 2014-3-24 21:40 编辑
我执行了,改了下面2处:
1、"skip=3 tokens=2 delims=:"
去掉了:后的空格
2、call netsh wlan show profile name=!n%in%!
这里用%%n%in%%%,!n%in%!,!!n%in%!!都行,%n%in%%不行
n1= TP-LINK_EC9FE2
n2= TP-LINK_EC9FE2 2
还有,变量前面有个空格,怎么去掉?profile可能带有空格,只能去掉前面的空格。
作者: 522235677 时间: 2014-3-24 21:33
本帖最后由 522235677 于 2014-3-24 21:41 编辑
回复 3# newswan - @echo off & setlocal enabledelayedexpansion
-
- for /f "skip=3 tokens=2,* delims=: " %%a in (1.txt) do (
- set /a n+=1
- echo !n!.%%a %%b
- if "%%b"=="" (set n!n!=%%a) else (set n!n!=%%a %%b)
- )
- set /p in=输入编号:
- call echo netsh wlan del profile name="%%n%in%%%"
- pause
复制代码
作者: newswan 时间: 2014-3-24 21:42
本帖最后由 newswan 于 2014-3-24 21:53 编辑
ok
谢谢!!正确了- @echo off & setlocal enabledelayedexpansion
-
- for /f "skip=9 tokens=4,* delims=: " %%a in ('netsh wlan show profile') do (
- set /a n+=1
- echo !n!.%%a %%b
- if "%%b"=="" (set n!n!=%%a) else (set n!n!=%%a %%b)
- )
- set /p in=输入编号:
- call netsh wlan show profile name="%%n%in%%%"
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |