[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

回复 2楼 的帖子

以前用Exec执行cmd.exe,发现只有一个黑框,以为不能执行,原来是通过标准输入读入命令。

TOP

exec的应用

1、Runas自动输入密码
可能是设计时为安全考虑,runas不接收管道传递或从文件重定向得到,输入密码必须手动输入,这个问题困扰了不少人,却又难以解决,用Sendkeys也不一定稳妥。
如果用exec方法,就能轻松做到自动输入。
  1. Set ws = CreateObject("WScript.Shell")
  2. Set oExec = ws.Exec("cmd.exe")
  3. oexec.StdIn.WriteLine "runas /user:username setup.bat"
  4. oexec.StdIn.WriteLine "password"
复制代码
2、exec与run的结合使用
exec方法无法隐藏窗口,要得到命令行程序的输出,就会有一个黑呼呼的窗口一闪而过,不仅难看,还会让其他使用者误以为是木马什么的,很不完美。如何解决这个问题呢?就让exec与run合作吧!
  1. Set ws = CreateObject("WScript.Shell")
  2. host = WScript.FullName
  3. if LCase( right(host, len(host)-InStrRev(host,"\")) ) = "wscript.exe" then
  4.     ws.run "cscript """ & WScript.ScriptFullName & chr(34), 0
  5.     WScript.Quit
  6. end if
  7. set oexec = ws.Exec( "ipconfig")
  8. Msgbox oExec.StdOut.ReadAll, , "ipconfig"
  9. ' 此时不要用WScript.Echo,因为当前是在控制台运行,WScript.Echo的结果会在控制台输出,不会弹出对话框。
复制代码
2

评分人数

命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

返回列表