批处理隐藏打开IE

bat

复制内容到剪贴板

代码:

mshta vbscript:CreateObject("WScript.Shell").Run("iexplore http://bbs.verybat.org",0)(window.close)

vbs

复制内容到剪贴板

代码:

CreateObject("WScript.Shell").Run "iexplore http://bbs.verybat.org", 0

复制内容到剪贴板

代码:

Set objIE=CreateObject("InternetExplorer.Application")

objIE.Navigate "http://bbs.verybat.org"

objIE.Visible = false

 

 

//把如下红色字保存到 "文件名.bat"文件中就可以实现隐藏IE访问地址

@echo off
mshta vbscript:CreateObject("WScript.Shell").Run("iexplore http://172.20.2.175:8080/cps/install.action?srcNo=CNFOL&srcNo2=A",0)(window.close)
exit

 

 

 

VBS的RUN函数本身带三个参数-隐藏后台运行模式

1.代码事例:

DIM objShell
set objShell=wscript.createObject("wscript.shell")
iReturn=objShell.Run("cmd.exe /C C:/addolcli/AddolC.exe", 0, TRUE)


VBS的RUN函数本身带三个参数,第一个参数就是你要运行的程序

第二个参数就是用来控制运行窗口模式 有0-9模式
其中0是隐藏后台运行,6是最小化运行

具体可以参数MSDN帮助文档

SW_HIDE 0 Hides the window and activates another window.
SW_MINIMIZE 6 Minimizes the specified window and activates the next top-level window in the Z order.
SW_RESTORE 9 Activates and displays the window. If the window is minimized or maximized, Windows restores it to its original size and position. An application should specify this flag when restoring a minimized window.

 

Run的第三个参数将允许我们防止相关程序以并发方式运行。您可将第三个参数赋值为True,以便指示脚本停留在使用Run方法的代码行并保持等待状态,直到已被激活的程序运行完毕。我们已经知道了因未设定该参数所产生的后果,该参数在缺省状态下被设定为False,而这种设置必将导致两个程序同时运行。也就是说TRUE值时必须等待这个脚本完成才运行其他程序,而false时可能还未运行完又执行另外一个脚本


还有一种方式的隐藏运行

set ws=wscript.createobject("wscript.shell")
ws.run "bat.bat /start",0

将上面代码写在记事本里保存扩展名为**.vbs 。
以下是调用的批处理。即是上面中的bat.bat文件。
@ECHO OFF
C:/addolcli/AddolC.exe
@ECHO OFF

object.Run(strCommand, [intWindowStyle], [bWaitOnReturn])
参数
object
WshShell 对象。
strCommand
表示要运行的命令行的字符串值。必须包括要传递到可执行文件的所有参数。
intWindowStyle
可选。表示程序窗口外观的整数值。请注意,并非所有程序都使用此信息。
bWaitOnReturn
可选。布尔值,表示在继续执行脚本中的下一条语句之前,脚本是否等待执行完程序。如果设为 true,则在执行完程序后才执行脚本,Run 方法返回由程序返回的任何错误代码。如果设为 false(默认值),则 Run 方法将自动在启动程序后立即返回 0(不是错误代码)。
说明
Run 方法返回一个整数。Run 方法启动在新 Windows 进程中运行的程序。可以让脚本等到程序执行完后再继续执行。这允许您同步运行脚本和程序。strCommand 参数内的环境变量自动扩展。如果某个文件类型已正确注册到某个程序中,则对该类型的文件调用 Run 方法时将执行该程序。例如,如果您的计算机系统中装有 Word,则对 *.doc 文件调用 Run 方法时将启动 Word 并加载该文档。下表列出了 intWindowStyle 的可用设置。

intWindowStyle 说明

0 隐藏一个窗口并激活另一个窗口。
1 激活并显示窗口。如果窗口处于最小化或最大化状态,则系统将其还原到原始大小和位置。第一次显示该窗口时,应用程序应指定此标志。
2 激活窗口并将其显示为最小化窗口。
3 激活窗口并将其显示为最大化窗口。
4 按最近的窗口大小和位置显示窗口。活动窗口保持活动状态。
5 激活窗口并按当前的大小和位置显示它。
6 最小化指定的窗口,并按照 Z 顺序激活下一个顶部窗口。
7 将窗口显示为最小化窗口。活动窗口保持活动状态。
8 将窗口显示为当前状态。活动窗口保持活动状态。
9 激活并显示窗口。如果窗口处于最小化或最大化状态,则系统将其还原到原始大小和位置。还原最小化窗口时,应用程序应指定此标志。
10 根据启动应用程序的程序状态来设置显示状态。

引用:http://hi.baidu.com/fhqswcan/blog/item/7064a31e76421a1e403417e7.html

 

WScript.Shell对象提供了run和exec两个方法,最近项目中需要在vbscript脚本中用pscp从linux服务器上copy文件。本来使用了exec方法,以下代码

Set exeRs = objws.Exec("pscp -r -scp -pw " & password & " " & loginid & "@" & host & ":" & data_path & fileName & " " & windows_path)
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->

但在测试的时候,当拷贝的文件比较大,拷贝时间较长的时候就出现cmd窗口死在那里不动了的情况,直接在cmd窗口中运行pscp拷贝相同的文件就可以正常 结束。也找不到是什么原因,于是改成run方法试一下,结果run方法是可以正常结束的,但是原来的代码中有需要取得cmd的控制台输出信息,而run却 不方便取得控制台信息,最后只能先把控制台信息重定向到文件中,然后程序在读取。最后说一下对run和exec两个方法的区别的一些理解:

这两个方法的声明如下
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->

Function Exec(ByVal Command As String) As WshExec

Function Run(ByVal Command As String, [ByVal WindowStyle], [ByVal WaitOnReturn]) As Integer

可以看出几点区别:

1,run的返回值是一个整数,就是0或1成功和失败两个状态,而exec方法的返回值是一个对象,从返回对象中可以获得控制台输出信息和控制台错误信息,即StdOut和StdErr属性等。例如:

Set exeRs = objws.Exec("pscp -r -scp -pw 。。。。"

errMsg = exeRs.StdErr.ReadAll()

stdMsg = oExec.StdOut.ReadAll()
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->

可以取道控制台错误和控制台信息。
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->

2,Run 的后两个参数,一个是cmd窗口的风格,一个是是否等待执行完成。最后一个参数很有用,如果你希望等待本次cmd执行的程序结束后,在执行 objws.Exec后面的语句的话,只要设置这个参数为true就可以了,否则后面的语句将不等待cmd窗口完成,直接运行(我们项目就有这个需求,从服务器上拷贝一个文件到本地后,马上要打开这个文件操作,如果文件没有拷贝完就去操作就会出错的。)。另外,如果你使用exec 方法的时候,如果希望等待cmd中程序执行完后,在执行后面的语句,也可以通过下面的方法:

oExec.StdErr.ReadAll()或者oExec.StdOut.ReadAll(),道理上也应该好理解,要得到输出的信息,肯定要cmd执行完后才会有输出的。

参数的详细信息可以参考msdn

http://msdn.microsoft.com/zh-cn/library/ateytk4a(en-us,VS.85).aspx

http://msdn.microsoft.com/zh-cn/library/d5fk67ky(en-us,VS.85).aspx


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zmxj/archive/2009/02/25/3937372.aspx

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
108个实用批处理文件 (仅供备用)WINXP原本的各项服务.BAT 1.TXT 2.txt 2000XP停止打印.bat 3.txt ARP本机绑定.bat Autorun 病毒清除工具.CMD C盘转换为NTFS格式.cmd dir.bat dos下重启.bat guest.bat IE不能打开新链接修复.cmd IE及系统限制修复器.CMD IIS最小权限分配.CMD sxs.exe 的查杀.bat sz.reg转换成reg.bat.bat win2000关机命令.bat WIN2003 IIS最小权限分配.bat WINDOWSINSTALLER故障修复.CMD winxp修改计算机名.bat WINXP原本的各项服务.BAT xp下确定最后的盘符.bat XP垃圾卸载器.CMD XP服务优化批处理.bat XP自动更新故障修复.CMD XP验证码显示补丁.CMD YLMF系统服务优化.bat 一键清理系统垃圾文件.bat 不显示扩展名.bat 不显示隐藏文件.bat 中文显示ping结果.bat 使用WMI别名获取CPU信息.bat 全盘删除所有文件夹下的_desktop.ini.bat 关闭IDE通道检测.bat 关闭局域网共享.cmd 关闭有害端口.bat 列举进程.bat 删除大小和类型一样的文件.bat 删除快捷方式的箭头.CMD 删除所有分区的默认共享.bat 判断光驱是否可用.bat 判断光驱里有无光盘.bat 判断分区格式.bat 刷新策略.bat 取得硬盘数.bat 右键添加bat.bat 右键添加打开MS-DOS.bat 启止用XP的图片视频预览功能.bat.bat 将cwindows.复制到当前目录并显示进度.bat 常见病毒清理.bat 开通局域网共享(访问本机无需验证即可进入).cmd 开通局域网共享(访问本机要填用户名和密码).cmd 开通局域网共享.cmd 弹出光驱.bat 快速设定分辨率.cmd 恢复快捷方式的箭头.CMD 截图.CMD 打开快捷方式指向的目录.bat 批处理读注册表的Run下面的值.bat 按扩展名分类.bat ......
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值