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

[文本处理] 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!)
问题是:删除的代码怎么写?

谢谢

  1. @echo off & setlocal enabledelayedexpansion
  2. 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)
  3. set /p in=输入编号:
  4. call netsh wlan del profile name="%%n%in%%%"
  5. pause
复制代码
1.2G
2.Public
输入编号:1
已从接口“无线网络连接”中删除配置文件“2G”。
请按任意键继续. . .

TOP

本帖最后由 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可能带有空格,只能去掉前面的空格。

TOP

本帖最后由 522235677 于 2014-3-24 21:41 编辑

回复 3# newswan
  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "skip=3 tokens=2,* delims=: " %%a in (1.txt) do (
  3. set /a n+=1
  4. echo !n!.%%a %%b
  5. if "%%b"=="" (set n!n!=%%a) else (set n!n!=%%a %%b)
  6. )
  7. set /p in=输入编号:
  8. call echo netsh wlan del profile name="%%n%in%%%"
  9. pause
复制代码

TOP

本帖最后由 newswan 于 2014-3-24 21:53 编辑

ok
谢谢!!正确了
  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "skip=9 tokens=4,* delims=: " %%a in ('netsh wlan show profile') do (
  3. set /a n+=1
  4. echo !n!.%%a %%b
  5. if "%%b"=="" (set n!n!=%%a) else (set n!n!=%%a %%b)
  6. )
  7. set /p in=输入编号:
  8. call netsh wlan show profile name="%%n%in%%%"
复制代码

TOP

返回列表