Board logo

标题: [网络连接] [已解决]BAT怎样批量处理net use命令出来的共享连接? [打印本页]

作者: ajie2009    时间: 2012-6-8 19:41     标题: [已解决]BAT怎样批量处理net use命令出来的共享连接?

例如:输入 net use
显示:
OK  H:  \\a\a
OK  J:   \\b\bb$
OK  k:   \\c\cc
已断开   \\d\d$
如果有很多,要批处理删除所有隐藏的共享(也就是后面带$共享)应该如何写代码。
求代码,不胜感激。
如果不行,只能改用VBS,VBS我还熟悉点。
先谢谢
作者: canyuexiaolang    时间: 2012-6-8 19:54

  1. for /f "skip=1 tokens=3 delims= " %%i in ('net use ^|find "$"') do net use %%i /del
复制代码
貌似是这么写
作者: ajie2009    时间: 2012-6-8 20:13

好像没有那么简单,
OK  H:  \\a\a
OK  J:   \\b\bb$
OK  k:   \\c\cc
已断开   \\d\d$
这里中间有7个空格
而且有的第二列没有数据。
比如是: Ok         \\f\ipc$
谢谢二楼提供,不知道怎么再修改。
作者: lxzzr    时间: 2012-6-8 20:18

回复 3# ajie2009


能给出示例文本么?
作者: ajie2009    时间: 2012-6-8 20:23

运行命令
>net use
会记录新的网络连接。


状态       本地        远程                      网络

-------------------------------------------------------------------------------
已断开       H:        \\192.168.100.3\d         Microsoft Windows Network
已断开       P:        \\192.168.100.8\p         Microsoft Windows Network
已断开       T:        \\192.168.100.3\c$        Microsoft Windows Network
已断开       U:        \\192.168.100.5\x         Microsoft Windows Network
已断开                 \\192.168.100.3\z          Microsoft Windows Network
已断开                 \\192.168.100.3\q$        Microsoft Windows Network
OK                     \\192.168.100.5\ipc$       Microsoft Windows Network
这只是示例,真正还有更多。
谢谢
作者: ajie2009    时间: 2012-6-8 20:39

回复 4# lxzzr

运行命令
>net use
会记录新的网络连接。


状态       本地        远程                      网络

-------------------------------------------------------------------------------
已断开       H:        \\192.168.100.3\d         Microsoft Windows Network
已断开       P:        \\192.168.100.8\p         Microsoft Windows Network
已断开       T:        \\192.168.100.3\c$        Microsoft Windows Network
已断开       U:        \\192.168.100.5\x         Microsoft Windows Network
已断开                 \\192.168.100.3\z          Microsoft Windows Network
已断开                 \\192.168.100.3\q$        Microsoft Windows Network
OK                     \\192.168.100.5\ipc$       Microsoft Windows Network
这只是示例,真正还有更多。
谢谢
作者: powerbat    时间: 2012-6-8 22:03

wmic的输出非常操蛋,所以用了临时文件
  1. @echo off
  2. wmic path Win32_NetworkConnection get name >#
  3. for /f "delims=" %%a in ('type # ^| findstr /rc:"\$ *$"') do (
  4.     net use "%%~fa" /d /y
  5. )
  6. del #
  7. pause
复制代码

作者: powerbat    时间: 2012-6-8 22:13

不要临时文件
  1. @echo off
  2. for /f "skip=1 delims=" %%i in (
  3. 'wmic path Win32_NetworkConnection where "name like '%%$'" get name'
  4. ) do for /f "delims=" %%a in ("%%i") do net use "%%~fa" /d /y
  5. pause
复制代码

作者: canyuexiaolang    时间: 2012-6-9 08:45

  1. @echo off
  2. for /f "skip=1 tokens=1* delims=\" %%i in ('net use ^| find "$"') do for /f "tokens=1 delims= " %%q in ("%%j") do echo net use \\%%q /del
  3. pause
复制代码
好了
作者: ajie2009    时间: 2012-6-12 05:21

谢谢各位大侠。愿你们幸福
作者: powerbat    时间: 2012-6-13 16:57

回复 9# canyuexiaolang

碰到华为的这种共享连接会有问题:
OK                     \\lg-fs\1$ IT tools          Microsoft Windows Network
华为加$号的共享工具需要申请才能安装(当然浏览、复制是自由的)。




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2