![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-06 01:03 |
共 48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » {已结}把VBS密码 用到BAT中 |
| 可打印版本 1,817 / 14 |
| 第1楼 chainliq | 发表于 2006-11-17 17:57 |
| 高级用户 发帖 244 积分 635 来自 广西贵港 | |
|
{已结}把VBS密码 用到BAT中 密码程序
@echo off set tmpfile=tmp%random%.vbs echo 请输入密码: echo Set pw = CreateObject("Microsoft.CmdLib") >>%tmpfile% echo ps = pw.GetPassword >>%tmpfile% echo wscript.stdout.write ps >>%tmpfile% for /f %%i in ('cscript //b %tmpfile%') do @set psw=%%i >nul msg * "你输入的密码为:%psw% & pause del %tmpfile% (备注:这段是以前 3742668 兄的代码) =============================================== 要运行的语句 set num=0 :loop set /p pass=请输入密码: if "%pass%"=="adminzhoulichainliq" goto game set /a num=%num% + 1 if %num%==3 goto error goto loop :error %windir%\system32\rundll32.exe user32.dll,LockWorkStation goto end :game set /p num= 请输入名称: if /I "%num%"=="n" exit start rd /s /q D:\netgame\%num% goto end 试啦好久还是不成功,不知道怎么样把下面这一段套到上面去, 让它在输入密码的时候,以*号方式显示! [ Last edited by chainliq on 2006-11-24 at 08:29 PM ] |
|
| 第2楼 electronixtar | 发表于 2006-11-18 00:09 |
| 铂金会员 发帖 2,672 积分 7,493 | |
|
目前我所知道的答案时:用 choice
Microsoft.Cmdlib 那个貌似在 XP SP2 里无效。微软官站也是用的其他的ActiveX做的 |
|
| 第3楼 chainliq | 发表于 2006-11-19 16:45 |
| 高级用户 发帖 244 积分 635 来自 广西贵港 | |
|
真的没有其它办法啦吗?
|
|
| 第4楼 3742668 | 发表于 2006-11-20 13:54 |
| 荣誉版主 发帖 718 积分 2,013 | |
|
Microsoft.CmdLib在sp2中测试有效,我的系统是联想的oem版本拷贝而来,从未额外装过其他控件。
楼主不成功是在哪一步不成功?另外要想*号显示密码目前看来比较有挑战性。除非使用internetexplorer.application(需要弹出窗口)以及asc编码com。 |
|
| 第5楼 chainliq | 发表于 2006-11-22 22:06 |
| 高级用户 发帖 244 积分 635 来自 广西贵港 | |
|
我们都知道批处理可以调用JS,那我们能不能也利用JS的来加密,然后再用批处理来调用呢!这还得麻烦论坛上的JS高手OY`````````
|
|
| 第6楼 electronixtar | 发表于 2006-11-23 07:26 |
| 铂金会员 发帖 2,672 积分 7,493 | |
|
[quote]我们都知道批处理可以调用JS,那我们能不能也利用JS的来加密,然后再用批处理来调用呢!这还得麻烦论坛上的JS高手OY````````` [quote]
效果不是很好。 |
|
| 第7楼 zh159 | 发表于 2006-11-23 12:59 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
利用IE的密码输入框
用上面的替换“set /p pass=请输入密码:”即可(适当修改) |
|
| 第8楼 chainliq | 发表于 2006-11-23 21:38 |
| 高级用户 发帖 244 积分 635 来自 广西贵港 | |
|
呵呵 ,高手呀,不错不错
可是你这个在那儿设密码呢,呵呵,看不懂挖,{(用上面的替换“set /p pass=请输入密码:”即可(适当修改)} 不行呀,替找啦,输入密码老是不能运行这一句 :game set /p num= 请输入名称: if /I "%num%"=="n" exit start rd /s /q D:\netgame\%num% goto end 希望的是输入正确密码后能运行这一句呀, 还有就是,你这个点“取消”按钮后还是不能退出哦! 麻烦兄弟再指点一下米精哦~ [ Last edited by chainliq on 2006-11-23 at 09:57 PM ] |
|
| 第9楼 chainliq | 发表于 2006-11-23 22:12 |
| 高级用户 发帖 244 积分 635 来自 广西贵港 | |
|
呵呵,行啦,朋友谢谢你哦!~~!
|
|
| 第10楼 anqing | 发表于 2006-11-23 22:14 |
| 高级用户 发帖 413 积分 859 | |
|
关注中,有学习的价值
|
|
| 第11楼 chainliq | 发表于 2006-11-23 22:20 |
| 高级用户 发帖 244 积分 635 来自 广西贵港 | |
|
@echo off
set num=0 :loop >%Temp%\Temp.vbs echo set WshShell = Wscript.CreateObject("Wscript.Shell") >>%Temp%\Temp.vbs echo set ie=wscript.createobject("internetexplorer.application","event_") >>%Temp%\Temp.vbs echo ie.menubar=0 >>%Temp%\Temp.vbs echo ie.addressbar=0 >>%Temp%\Temp.vbs echo ie.toolbar=0 >>%Temp%\Temp.vbs echo ie.statusbar=0 >>%Temp%\Temp.vbs echo ie.resizable=0 >>%Temp%\Temp.vbs echo ie.width=270 >>%Temp%\Temp.vbs echo ie.height=200 >>%Temp%\Temp.vbs echo ie.navigate "about:blank" >>%Temp%\Temp.vbs echo ie.left=fix((ie.document.parentwindow.screen.availwidth-ie.width)/2) >>%Temp%\Temp.vbs echo ie.top=fix((ie.document.parentwindow.screen.availheight-ie.height)/2) >>%Temp%\Temp.vbs echo ie.visible=1 >>%Temp%\Temp.vbs echo with ie.document >>%Temp%\Temp.vbs echo .write "<html><title>输入密码</title><body bgcolor=#e3e5da scroll=no style='font-family:宋体;font-size:15px;'>" >>%Temp%\Temp.vbs echo .write "<h3 align=center>输入密码</h3>" >>%Temp%\Temp.vbs echo .write "<p align=center>" >>%Temp%\Temp.vbs echo .write " 请输入密码: <input id=pass type=password size=10><br><br>" >>%Temp%\Temp.vbs echo .write "<input id=confirm type=button value=确定> <input id=cancel type=button value=取消>" >>%Temp%\Temp.vbs echo .write "</body></html>" >>%Temp%\Temp.vbs echo end with >>%Temp%\Temp.vbs echo dim wmi >>%Temp%\Temp.vbs echo set wnd=ie.document.parentwindow >>%Temp%\Temp.vbs echo set id=ie.document.all >>%Temp%\Temp.vbs echo id.confirm.onclick=getref("confirm") >>%Temp%\Temp.vbs echo id.cancel.onclick=getref("cancel") >>%Temp%\Temp.vbs echo do while true >>%Temp%\Temp.vbs echo wscript.sleep 500 >>%Temp%\Temp.vbs echo WshShell.AppActivate ("输入密码 - Microsoft Internet Explorer") >>%Temp%\Temp.vbs echo loop >>%Temp%\Temp.vbs echo sub event_onquit >>%Temp%\Temp.vbs echo wscript.quit >>%Temp%\Temp.vbs echo end sub >>%Temp%\Temp.vbs echo sub cancel >>%Temp%\Temp.vbs echo ie.quit >>%Temp%\Temp.vbs echo end sub >>%Temp%\Temp.vbs echo sub confirm >>%Temp%\Temp.vbs echo ie.visible=0 >>%Temp%\Temp.vbs echo ie.quit >>%Temp%\Temp.vbs echo with id >>%Temp%\Temp.vbs echo Wscript.Echo .pass.value >>%Temp%\Temp.vbs echo exit sub >>%Temp%\Temp.vbs echo end with >>%Temp%\Temp.vbs echo end sub set password=没有输入密码 for /f "delims=" %%i in ('"cscript //nologo %Temp%\Temp.vbs"') do ( set "pass=%%i" ) cls echo. echo. echo. echo 请稍等... if "%pass%"=="设密码的地方" goto game set /a num=%num% + 1 if %num%==3 goto not goto loop goto end :game set /p num= 请输入名称: if /I "%num%"=="n" exit start rd /s /q D:\netgame\%num% goto end :not pauss 呵呵,好啦,现在把改好的贴子大家可以啦分亨 以后再不用愁这设密码这事儿啦,,非常感谢 zxcv兄的帮忙! |
|
| 第12楼 kennyfan | 发表于 2006-11-23 22:56 |
| 中级用户 发帖 112 积分 259 | |
|
呵呵,终于搞明白了!!
|
|
| 第13楼 zzs162 | 发表于 2007-02-18 20:35 |
| 初级用户 发帖 11 积分 27 | |
|
嘻嘻
|
|
| 第14楼 xswdong | 发表于 2007-02-19 05:32 |
| 中级用户 发帖 129 积分 216 | |
|
好东西 正在消化……
|
|
| 第15楼 hdzc | 发表于 2007-10-10 14:12 |
| 初级用户 发帖 86 积分 146 | |
|
好极了
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |