|
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
状态 离线
|
|
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
状态 离线
|
|
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
状态 离线
|
|
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 来自 甘肃.临泽
状态 离线
|
|
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 |
|