![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-25 03:17 |
共 47,813 主题排行 / 349,918 发帖 / 今日 1 篇 / 48,274 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [原创]共享方面的批处理 |
| 可打印版本 2,334 / 15 |
| 第1楼 windeshadow | 发表于 2007-04-16 12:31 |
| 初级用户 发帖 15 积分 38 | |
|
[原创]共享方面的批处理 第一次写 呵呵 见笑咯
里面有个限制次数的功能 是找到的 文件共享 @echo off title 文件共享 mode con: cols=80 lines=30 if exist %windir%\netshare.txt (goto rep) else echo 100>%windir%\netshare.txt :rep for /f "tokens=1" %%a in (%windir%\netshare.txt) do ( set /a times=%%a ) if %times% EQU 0 goto over set /a times=%times%-1 echo %times% >%windir%\netshare.txt cls :opt cls @echo ******************************************************************************* @echo ┼─────────┼ 现在时间: @echo │ ˊ 、 │ %date% %time:~0,2%点%time:~3,2%分%time:~6,2%秒 @echo │' . ˊ ˋ﹫. │ @echo │ ╭⌒╮ `ˊ │ @echo │ˊ( .' ) ' │ 穿別人的鞋,走自己的路,讓他們找去吧! @echo │ ﹏_)(﹏. │╔════════════════╗ 剩余使用次数:%times% @echo │``~﹊`︸~﹊︸~`~ '│║ ╱ヾ 好好学习 ひ 天天上网ヾ ║ @echo ┼─────────┼╚════════════════╝ 署名: Is's Me @echo ******************************************************************************* @echo 主菜单 (exit)退出 @echo+ @echo+ @echo (T)添加共享 (K)查看共享 (D)删除共享 (G)高级选项 (C)纯DOS (L)联系本人 set /p c="c:\>": cls if "%c%"=="T" goto up if "%c%"=="t" goto up if "%c%"=="K" goto share if "%c%"=="k" goto share if "%c%"=="D" goto delete if "%c%"=="d" goto delete if "%c%"=="G" goto High if "%c%"=="g" goto High if "%c%"=="C" goto self if "%c%"=="c" goto self if "%c%"=="L" goto QQ if "%c%"=="l" goto QQ if "%c%"=="EXIT" exit if "%c%"=="exit" exit goto opt ************************************************************************************* rem 添加共享 :up sc config lanmanserver start= demand>nul 2>nul net start Server>nul 2>nul :UP1 set a=My文档 set b=f: net share @echo 输入共享路径,不输入则采用F盘为路径(ESC返回) set /p b="c:\>": if "%b%"=="ESC" goto opt if "%b%"=="esc" goto opt if not exist %b% goto up2 if %ERRORLEVEL% GTR 2 goto UP2 @echo 输入共享名字,不输入则采用默认共享名(ESC返回) set /p a="c:\>": if "%a%"=="ESC" goto opt if "%a%"=="esc" goto opt cls net share %a%=%b% >nul 2>nul if not %ERRORLEVEL%==0 goto UP3 @echo %a% 共享成功.路径为: %b% goto up1 :up2 cls @echo 输入的路径有误,请重新输入。 goto up1 :UP3 cls @echo 共享失败,可能是共享名"%a%"重复. goto up1 ************************************************************************************* rem 查看共享 :share1 @echo 启动失败,可能是共享服务为禁止状态,是否重新设置启动状态(Y/N) set /p c="c:\>": if "%c%"=="Y" goto close1 if "%c%"=="y" goto close1 if "%c%"=="N" goto opt if "%c%"=="n" goto opt cls @echo 请输入正确指令. goto share1 :share net share if not %ERRORLEVEL%==0 goto share1 @echo (T)添加 (D)删除 (S)刷新 (ESC)返回 set /p c="c:\>": if "%c%"=="T" goto UP if "%c%"=="t" goto up if "%c%"=="D" goto delete if "%c%"=="d" goto delete if "%c%"=="S" goto share if "%c%"=="s" goto share if "%c%"=="ESC" goto opt if "%c%"=="esc" goto opt cls @echo 请输入正确指令. goto share ************************************************************************************* rem 删除共享 :delete2 @echo 启动失败,可能是共享服务为禁止状态,是否重新设置启动状态(Y/N) set /p c="c:\>": if "%c%"=="Y" goto close1 if "%c%"=="y" goto close1 if "%c%"=="N" goto opt if "%c%"=="n" goto opt cls @echo 请输入正确指令. goto delete2 :delete @echo 共享列表 net share if not %ERRORLEVEL%==0 goto delete2 @echo 请输入需要删除的共享名(ESC返回) set /p c="c:\>": cls if "%c%"=="ESC" goto opt if "%c%"=="esc" goto opt net share %c% /delete if not %ERRORLEVEL%==0 goto delete1 @echo 成功删除共享"%c%" goto delete :delete1 @echo 删除失败,可能是共享名"%c%"不存在. goto delete ************************************************************************************* rem 高级选项 :High @echo (A)彻底删除默认共享 (K)开启共享服务 (C)关闭共享服务 (ESC)返回 set /p c="c:\>": if "%c%"=="A" goto mr if "%c%"=="a" goto mr if "%c%"=="K" goto on if "%c%"=="k" goto on if "%c%"=="C" goto close if "%c%"=="c" goto close if "%c%"=="ESC" goto opt if "%c%"=="esc" goto opt cls @echo 请输入正确指令. goto High ---------------------------------------------------------- :mr net start Server>nul 2>nul @echo 删除默认共享目录..... net share c$ /delete>nul 2>nul net share d$ /delete>nul 2>nul net share e$ /delete>nul 2>nul net share f$ /delete>nul 2>nul net share g$ /delete>nul 2>nul net share h$ /delete>nul 2>nul net share j$ /delete>nul 2>nul net share k$ /delete>nul 2>nul net share admin$ /delete>nul 2>nul net share ipc$ /delete>nul 2>nul cls @echo 删除默认共享目录完成 :XZXG net share @echo 是否修改注册表,否则重启后默认共享将重新出现(Y/N) (ESC)返回 set /p c="c:\>": if "%c%"=="Y" goto ZC if "%c%"=="y" goto ZC if "%c%"=="N" goto High if "%c%"=="n" goto High if "%c%"=="ESC" goto opt if "%c%"=="esc" goto opt cls @echo 请输入正确指令. goto XZXG :ZC @echo 准备生成临时注册表文件...... echo Windows Registry Editor Version 5.00>delshare.reg echo >>delshare.reg echo "AutoShareWks"=dword:00000000>>delshare.reg echo "AutoShareServer"=dword:00000000>>delshare.reg echo 运行注册表临时文件..... regedit /s delshare.reg echo 删除注册表临时文件...... del /f/q/s/a delshare.reg echo 注册表修改完成. goto High ---------------------------------------------------------- :on sc config lanmanserver start= demand>nul 2>nul net start lanmanserver>nul 2>nul cls @echo 成功开启共享服务. goto High ---------------------------------------------------------- :close net stop Server /y>nul 2>nul cls @echo 成功关闭共享服务. :close1 @echo 更改共享服务下次启动的启动类型.默认为手动. @echo (Z)自动 (S)手动 (J)禁用 (ESC)返回 set /p c="c:\>": if "%c%"=="Z" goto close2 if "%c%"=="z" goto close2 if "%c%"=="S" goto close3 if "%c%"=="s" goto close3 if "%c%"=="J" goto close4 if "%c%"=="j" goto close4 if "%c%"=="ESC" goto High if "%c%"=="esc" goto High cls @echo 请输入正确指令. goto close1 :close2 sc config lanmanserver start= auto>nul 2>nul cls @echo 成功更改为自动状态.下次开机自动开启服务. goto High :close3 sc config lanmanserver start= demand>nul 2>nul cls @echo 成功更改为手动状态.下次必须手动启动的服务. goto High :close4 sc config lanmanserver start= disabled>nul 2>nul cls @echo 成功更改为禁止状态.要启动禁用的服务,应将启动类型更改为其他值。 goto High ************************************************************************************* rem 纯DOS操作 :self @echo 请输入纯DOS命令. (exit)返回 Start /b/wait cmd.exe goto opt ************************************************************************************* rem 联系本人 start /b tencent://message/?uin=83909654 goto opt ************************************************************************************* rem 使用次数 :over cls @echo 你已经达到使用次数,5秒后自动退出. ping 127.0.0.1 -n 6 >nul 2>nul exit ************************************************************************************* |
|
| 第2楼 bjsh | 发表于 2007-04-16 21:20 |
| 银牌会员 发帖 621 积分 2,000 | |
|
if exist %windir%\netshare.txt (goto rep) else echo 100>%windir%\netshare.txt
:rep for /f "tokens=1" %%a in (%windir%\netshare.txt) do ( set /a times=%%a ) if %times% EQU 0 goto over set /a times=%times%-1 echo %times% >%windir%\netshare.txt 把这段删掉就没有限制次数了. |
|
| 第3楼 bjsh | 发表于 2007-04-16 21:21 |
| 银牌会员 发帖 621 积分 2,000 | |
|
if "%c%"=="T" goto up
if "%c%"=="t" goto up if "%c%"=="K" goto share if "%c%"=="k" goto share if "%c%"=="D" goto delete if "%c%"=="d" goto delete if "%c%"=="G" goto High if "%c%"=="g" goto High if "%c%"=="C" goto self if "%c%"=="c" goto self if "%c%"=="L" goto QQ if "%c%"=="l" goto QQ if "%c%"=="EXIT" exit if "%c%"=="exit" exit 这段可以if /i |
|
| 第4楼 bjsh | 发表于 2007-04-16 21:23 |
| 银牌会员 发帖 621 积分 2,000 | |
|
原创鼓励下;
嘻嘻 |
|
| 第5楼 flyinspace | 发表于 2007-04-16 21:26 |
| 银牌会员 发帖 517 积分 1,206 | |
|
if %times% EQU 0 goto over
没那么麻烦,这一句就够了。 然后就是关于共享,作者还理解得不够。 |
|
| 第6楼 htysm | 发表于 2007-04-17 00:05 |
| 高级用户 发帖 415 积分 866 | |
|
是原创吗,支持一下。
|
|
| 第7楼 windeshadow | 发表于 2007-04-17 02:56 |
| 初级用户 发帖 15 积分 38 | |
|
呵呵 只有开始那个限制次数的功能是看别人的 其他自己写的 没做过简化
我想问下 怎么样把 下面这句话 做成变量 因为太长了而且中间还换行 还有空格 我自己没想出来 前提是不从其他文件里导入 @echo ******************************************************************************* @echo ┼─────────┼ 现在时间: @echo │ ˊ 、 │ %date% %time:~0,2%点%time:~3,2%分%time:~6,2%秒 @echo │' . ˊ ˋ﹫. │ @echo │ ╭⌒╮ `ˊ │ @echo │ˊ( .' ) ' │ 穿別人的鞋,走自己的路,讓他們找去吧! @echo │ ﹏_)(﹏. │╔════════════════╗ 剩余使用次数:%times% @echo │``~﹊`︸~﹊︸~`~ '│║ ╱ヾ 好好学习 ひ 天天上网ヾ ║ @echo ┼─────────┼╚════════════════╝ 署名: Is's Me @echo ******************************************************************************* |
|
| 第8楼 htysm | 发表于 2007-04-17 05:43 |
| 高级用户 发帖 415 积分 866 | |
|
带有回车的这么长的句子能赋值给一个变量吗?不行吧。
|
|
| 第9楼 bza2006 | 发表于 2007-04-17 06:08 |
| 初级用户 发帖 27 积分 58 | |
|
支持一下,不错第
|
|
| 第10楼 bowman | 发表于 2007-04-17 06:45 |
| 新手上路 发帖 6 积分 16 | |
|
原创啊,支持楼主。
不过添加共享功能好像不起作用。有时输入完路径没有什么提示,有时提示共享失败。 但我在windows里手动添加共享是可以的。 |
|
| 第11楼 zytmj | 发表于 2007-04-17 09:11 |
| 新手上路 发帖 5 积分 10 | |
|
kan budong
|
|
| 第12楼 flyinspace | 发表于 2007-04-17 09:14 |
| 银牌会员 发帖 517 积分 1,206 | |
|
TO 7楼:
其实做成一个call就行了。。 用不着把那段代码写成变量的。。。 需要时调用 |
|
| 第13楼 vkill | 发表于 2007-04-18 00:29 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
写简单点多好哦
|
|
| 第14楼 everest79 | 发表于 2007-04-18 01:17 |
| 金牌会员 发帖 1,127 积分 2,564 | |
|
思路清晰,人性化设计,很细心,不过不是在语法上,楼主跟我刚开始一样,知道的多,但都不精通,没有深入去发掘一些命令的功能
|
|
| 第15楼 windeshadow | 发表于 2007-04-19 03:15 |
| 初级用户 发帖 15 积分 38 | |
|
呵呵 输入好共享路径没反映应该不会出现 一般会出现共享失败 可能是路径里面带了空格 可以加引号 呵呵 写了
我写这个东西呢 是因为我在网吧 禁止了很多功能 要共享东西 一般情况还要去 开工具, 开启服务 。。觉得麻烦 所以就写了这个 |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |