中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-07 04:29
48,040 主题排行 / 350,125 发帖 / 今日 1 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » [已结]批处理删除所有分区的默认共享
可打印版本  7,071 / 18
第1楼 chineselgs 发表于 2006-06-09 18:47
高级用户 发帖 266 积分 613 来自 河南省
[已结]批处理删除所有分区的默认共享
请帮我解释下面的批处理的每个命令的意思:

net share c$ /del
net share d$ /del
net share e$ /del
net share f$ /del
net share admin$ /del
net share ipc$ /del
del c:\winnt\logo1_.exe


谢谢!!!

[ Last edited by willsort on 2006-6-14 at 17:08 ]
第2楼 Scott0902 发表于 2006-06-09 19:04
中级用户 发帖 237 积分 466
关闭NT默认服务,最后删除logo1_.exe
第3楼 chineselgs 发表于 2006-06-09 19:46
高级用户 发帖 266 积分 613 来自 河南省
谢谢啦!!!
第4楼 namejm 发表于 2006-06-09 19:50
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  其实楼主所帖的脚本并不能删除所有分区的默认共享,并且有可能删不掉ipc$共享,更要命的是,还有可能在下次启动的时候自动重新生成默认的admin$共享。
  下面帖一个经过本人注释过和小小改动过的脚本出来,楼主可以对比一下。


[ Last edited by namejm on 2006-6-9 at 19:52 ]
第5楼 chineselgs 发表于 2006-06-10 14:32
高级用户 发帖 266 积分 613 来自 河南省
非常感谢楼上的!!!!
第6楼 willsort 发表于 2006-06-14 17:09
元老会员 发帖 1,512 积分 4,432

───────────────── 版务记录 ─────────────────
执行:Will Sort
操作:修改标题 - 帮我解释一下~
───────────────── 版务记录 ─────────────────
第7楼 flysp 发表于 2006-06-15 17:20
中级用户 发帖 41 积分 207
学习中……
第8楼 electronixtar 发表于 2006-06-15 22:47
铂金会员 发帖 2,672 积分 7,493
不用输出 .reg 文件啦,用 reg 命令直接改就是了
第9楼 zhoung0 发表于 2006-09-18 05:31
初级用户 发帖 18 积分 54
恩。if exist %%a:\nul 可以不用nul吧。- -
第10楼 kennyfan 发表于 2006-09-18 11:32
中级用户 发帖 112 积分 259
呵呵.4楼厉害!~
第11楼 ZJHJ 发表于 2006-09-28 09:17
高级用户 发帖 374 积分 609
4楼的你们也别全信,多数都是花架子.闷不懂的,也不知是从哪抄来的。其实就是
一句话,修改注册表项才是真的。
------------------------------
@echo off
echo Windows Registry Editor Version 5.00> c:\lswj.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]>> c:\lswj.reg
echo "AutoShareWks"=dword:00000000>> c:\lswj.reg
echo "AutoShareServer"=dword:00000000>> c:\lswj.reg
regedit /s c:\lswj.reg
del c:\lswj.reg
------------------------------
如果要恢复,你就改成 1 即:

@echo off
echo Windows Registry Editor Version 5.00> c:\lswj.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]>> c:\lswj.reg
echo "AutoShareWks"=dword:00000001>> c:\lswj.reg
echo "AutoShareServer"=dword:00000001>> c:\lswj.reg
regedit /s c:\lswj.reg
del c:\lswj.reg

----------=---------
第12楼 pengfei 发表于 2006-09-28 09:40
银牌会员 发帖 485 积分 1,218 来自 湖南.娄底
楼上兄弟的修改注册表的确是最可取的, 但4楼的代码也很全面.

我也发段批处理删除共享的代码:
@echo off
for /f "skip=4 tokens=1" %%i in ('net share') do (
if not "%%i"=="命令成功完成。" if /i not "%%i"=="ipc$" net share %%i /delete
)
pause

[ Last edited by pengfei on 2006-9-28 at 11:29 ]
第13楼 namejm 发表于 2006-09-28 10:18
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  嘿嘿,我那段代码确实是网上抄袭过来的,对注册表不是很懂,只添加了判断盘符的功能,并添加了点注释而已。

  再贴一段网上copy的东西出来,这个要全面一点,大家可以各取所需:
第14楼 ZJHJ 发表于 2006-09-28 11:05
高级用户 发帖 374 积分 609
我也发段批处理删除共享的代码:
@echo off
for /f "skip=4 tokens=1" %%i in ('net share') do (
if not "%%i"=="命令成功完成。" net share %%i /delete
)
pause
你这段批处理删除共享不灵的哦!会拒绝访问和发生错误5
第15楼 pengfei 发表于 2006-09-28 11:26
银牌会员 发帖 485 积分 1,218 来自 湖南.娄底
IPC$共享是无法删除的, 出现错误也不足为怪...

加了个判断, 跳过ipc$. 它的执行原理是列出所有共享, 然后一个个删除.

@echo off
for /f "skip=4 tokens=1" %%i in ('net share') do (
if not "%%i"=="命令成功完成。" if /i not "%%i"=="ipc$" net share %%i /delete
)
pause

[ Last edited by pengfei on 2006-9-29 at 06:06 ]
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023