中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] »
作者:
标题: [原创]共享方面的批处理 上一主题 | 下一主题
windeshadow
初级用户





积分 38
发帖 15
注册 2007-4-13
状态 离线
『楼 主』:  [原创]共享方面的批处理

第一次写 呵呵 见笑咯
里面有个限制次数的功能  是找到的

文件共享



@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 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]

>>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 联系本人


:QQ
start /b tencent://message/?uin=83909654
goto opt
*************************************************************************************
rem 使用次数

:over
cls
@echo 你已经达到使用次数,5秒后自动退出.
ping 127.0.0.1 -n 6 >nul 2>nul
exit

*************************************************************************************

2007-4-16 12:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 2 楼』:  

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

把这段删掉就没有限制次数了.

2007-4-16 21:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 3 楼』:  

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

2007-4-16 21:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 4 楼』:  

原创鼓励下;
嘻嘻

2007-4-16 21:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
flyinspace
银牌会员





积分 1206
发帖 517
注册 2007-3-25
状态 离线
『第 5 楼』:  

if %times% EQU 0 goto over

没那么麻烦,这一句就够了。

然后就是关于共享,作者还理解得不够。



知,不觉多。不知,乃求知
2007-4-16 21:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复
htysm
高级用户




积分 866
发帖 415
注册 2005-12-4
状态 离线
『第 6 楼』:  

是原创吗,支持一下。

2007-4-17 00:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
windeshadow
初级用户





积分 38
发帖 15
注册 2007-4-13
状态 离线
『第 7 楼』:  

呵呵  只有开始那个限制次数的功能是看别人的 其他自己写的 没做过简化  
我想问下 怎么样把 下面这句话 做成变量  因为太长了而且中间还换行 还有空格 我自己没想出来 前提是不从其他文件里导入

@echo *******************************************************************************
@echo   ┼─────────┼ 现在时间:
@echo   │  ˊ     、 │ %date% %time:~0,2%点%time:~3,2%分%time:~6,2%秒            
@echo   │' .  ˊ  ˋ﹫. │
@echo   │ ╭⌒╮   `ˊ │
@echo   │ˊ( .' ) '    │ 穿別人的鞋,走自己的路,讓他們找去吧!
@echo   │ ﹏_)(﹏.   │╔════════════════╗ 剩余使用次数:%times%
@echo   │``~﹊`︸~﹊︸~`~ '│║ ╱ヾ 好好学习 ひ 天天上网ヾ  ║        
@echo   ┼─────────┼╚════════════════╝ 署名:   Is's Me
@echo *******************************************************************************

2007-4-17 02:56
查看资料  发短消息 网志   编辑帖子  回复  引用回复
htysm
高级用户




积分 866
发帖 415
注册 2005-12-4
状态 离线
『第 8 楼』:  

带有回车的这么长的句子能赋值给一个变量吗?不行吧。

2007-4-17 05:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bza2006
初级用户





积分 58
发帖 27
注册 2007-3-21
状态 离线
『第 9 楼』:  

支持一下,不错第



玄之又玄
众妙之门
2007-4-17 06:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bowman
新手上路





积分 16
发帖 6
注册 2007-3-19
状态 离线
『第 10 楼』:  

原创啊,支持楼主。
不过添加共享功能好像不起作用。有时输入完路径没有什么提示,有时提示共享失败。
但我在windows里手动添加共享是可以的。

2007-4-17 06:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zytmj
新手上路





积分 10
发帖 5
注册 2007-1-21
状态 离线
『第 11 楼』:  

kan budong

2007-4-17 09:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
flyinspace
银牌会员





积分 1206
发帖 517
注册 2007-3-25
状态 离线
『第 12 楼』:  

TO 7楼:

其实做成一个call就行了。。

用不着把那段代码写成变量的。。。

需要时调用



知,不觉多。不知,乃求知
2007-4-17 09:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 13 楼』:  

写简单点多好哦

2007-4-18 00:29
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 14 楼』:  

思路清晰,人性化设计,很细心,不过不是在语法上,楼主跟我刚开始一样,知道的多,但都不精通,没有深入去发掘一些命令的功能

2007-4-18 01:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
windeshadow
初级用户





积分 38
发帖 15
注册 2007-4-13
状态 离线
『第 15 楼』:  

呵呵 输入好共享路径没反映应该不会出现  一般会出现共享失败  可能是路径里面带了空格 可以加引号 呵呵 写了
我写这个东西呢 是因为我在网吧 禁止了很多功能 要共享东西  一般情况还要去 开工具, 开启服务 。。觉得麻烦 所以就写了这个

2007-4-19 03:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: