中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 21:32
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [讨论]密码检测问题 查看 818 回复 6
楼 主 [讨论]密码检测问题 发表于 2008-09-26 12:06 ·  中国 四川 绵阳 电信
初级用户
积分 75
发帖 46
注册 2007-09-25 22:21
18年会员
UID 98274
性别 男
状态 离线
密码判断问题
最近网吧一更新游戏就出现文件损坏!由于太忙有时又在网吧,于是编了一个脚本方便其它人使用(网管和收银员都不太懂)
工作原理:脚本运行后首先检测有无还原软件,如果有的话就卸载还原软件,重启后再运行脚本!直接手动输入要修复的硬盘!待修复完毕后安装还原软件!
在测试中出现这样一个情况:就是在输入密码时,如果输入错误,同样程序还是会执行下一步!如这句:
(set /p PW= 请输入密码卸载还原:
::pw为还原密码
c:\KSHY\setup.exe /uninstall /password:%PW%

:chkdsk)
不知道有什么方法使它,密码检测成功后再执行,要不错误后就直接返回重新输入!
此批处理主要问题也就在于此!头都晕了!高手给点意见!
另注:调用的快速还原软件是52netbar.com的快速还原4.3



脚本如下:
if exist c:\windows\system32\drivers\fakedisk.sys goto unstall
if not exist c:\windows\system32\drivers\fakedisk.sys goto chkdsk
::c:\windows\system32\drivers\fakedisk.sys为安装还原后创建的一个文件,通过检测此文件判断系统有无安装还原

:unstall
set PW=
echo 【检测到本机已安装还原软件】
echo.
set /p PW= 请输入密码卸载还原:
::pw为还原密码
c:\KSHY\setup.exe /uninstall /password:%PW%

:chkdsk
set a=
set /p a=请输入需要修复的磁盘(C、D……Z):
::a为手动输入的磁盘分区
echo y| chkdsk %a%: /f
goto install

:install
set PW=
set DK=
::pw为还原密骊;DK为保护分区
set /p PW=请输入还原密码:
cls
echo 请直接输入要保护的分区中间不留空如:"CDE"
set /p DK=请输入要保护分区:
c:\KSHY\setup.exe /install /password:%pw% /protect:%DK%
echo 安装完毕!BYEBYE
del %0
2 发表于 2008-09-26 12:47 ·  中国 四川 绵阳 电信
初级用户
积分 75
发帖 46
注册 2007-09-25 22:21
18年会员
UID 98274
性别 男
状态 离线
没人帮忙么?懂的指点下!非常感谢
3 发表于 2008-09-26 13:13 ·  中国 广西 百色 中移铁通
银牌会员
★★★
永远的菜鸟
积分 1,335
发帖 574
注册 2007-11-27 12:50
18年会员
UID 103929
性别 男
来自 广西
状态 离线
:unstall
set PW=
echo 【检测到本机已安装还原软件】
echo.
set /p PW= 请输入密码卸载还原:
::pw为还原密码
if not "%pw%"=="预设的密码" goto :unstall
c:\KSHY\setup.exe /uninstall /password:%PW%
4 发表于 2008-09-26 14:25 ·  中国 浙江 宁波 电信
初级用户
积分 110
发帖 41
注册 2007-03-31 17:20
19年会员
UID 83521
性别 男
状态 离线
Originally posted by jycel at 2008-9-26 12:06 PM:
密码判断问题
最近网吧一更新游戏就出现文件损坏!由于太忙有时又在网吧,于是编了一个脚本方便其它人使用(网管和收银员都不太懂)
工作原理: ...


if exist c:\windows\system32\drivers\fakedisk.sys call :unstall
if not exist c:\windows\system32\drivers\fakedisk.sys call :chkdsk
::c:\windows\system32\drivers\fakedisk.sys为安装还原后创建的一个文件,通过检测此文件判断系统有无安装还原
goto over

:unstall
set PW=
echo 【检测到本机已安装还原软件】
echo.
set /p PW= 请输入密码卸载还原:
::pw为还原密码
c:\KSHY\setup.exe /uninstall /password:%PW%

if exist c:\windows\system32\drivers\fakedisk.sys (
echo password is error
goto :unstall
)

goto over

:chkdsk
set a=
set /p a=请输入需要修复的磁盘(C、D……Z):
::a为手动输入的磁盘分区
echo y| chkdsk %a%: /f

:install
set PW=
set DK=
::pw为还原密骊;DK为保护分区
set /p PW=请输入还原密码:
cls
echo 请直接输入要保护的分区中间不留空如:"CDE"
set /p DK=请输入要保护分区:
c:\KSHY\setup.exe /install /password:%pw% /protect:%DK%

if not exist c:\windows\system32\drivers\fakedisk.sys (
echo password is error
goto :install
)

echo 安装完毕!BYEBYE
del %0
goto over

:over
5 发表于 2008-09-26 14:43 ·  中国 四川 绵阳 电信
初级用户
积分 75
发帖 46
注册 2007-09-25 22:21
18年会员
UID 98274
性别 男
状态 离线
这点我也想到过!但不想把密码存入bat中去!如果是唯一的方法也就只有这样了!因为BAT转EXE并不是真正做到了的!只是解压到临时目录一个隐藏文件再运行而已
6 发表于 2008-09-26 14:46 ·  中国 江苏 苏州 电信
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
你要有原来的密码才行啊,比如你的password:PT0123456
if "%pw%"=="%password%" ......... else (..........)
7 发表于 2008-09-26 14:53 ·  中国 四川 绵阳 电信
初级用户
积分 75
发帖 46
注册 2007-09-25 22:21
18年会员
UID 98274
性别 男
状态 离线
查了N久资料!只有把密码输入里面验证才行!要么把BAT加次密!谢谢各位了哈!
论坛跳转: