dos批处理文件中使用vbs

转载 2015年07月07日 13:13:22
mshta命令用法示例_DOS/BAT_脚本之家
http://www.jb51.net/article/50370.htm
这篇文章主要介绍了mshta命令用法示例 ,需要的朋友可以参考下
它支持命令行参数,可以接收JS和VBS的方法。看示例(在命令行下测试): 

JS: 

复制代码代码如下:

mshta vbscript:window.execScript("alert('hello world!');","javascript") 


VBS: 

复制代码代码如下:

mshta javascript:window.execScript("msgBox('hello world!'):window.close","vbs") 


调用VBS,分别使用MSGBOX函数和POPUP方法: 

复制代码代码如下:

mshta vbscript:msgbox("该干活了,伙计!",64,"提示")(window.close) 
mshta vbscript:CreateObject("Wscript.Shell").popup("该干活了,伙计!",7,"提示",64)(window.close) 

execute方法 一条语句连续弹二个信息框: 

复制代码代码如下:

mshta vbscript:execute("msgbox ""one BOX"":msgbox ""two BOX"":window.close") 

LZ他们弄的,调用系统的英文阅读: 

复制代码代码如下:

mshta vbscript:createobject("sapi.spvoice").speak("Good luck")(window.close) 


///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
[分享]mshta的标准用法 - VBS求助&讨论 - 批处理之家 批处理
http://www.bathome.net/thread-11516-1-1.html
把这里的代码直接复制到cmd窗口运行就可以了。
mshta是用来解释hta程序的,或者叫hta程序的宿主。而hta程序其实就是html文件。所以你只要输入html标签就可以了。这是标准用法,其它的用法太乱。在cmd中输入下面的文字:
  1. mshta vbscript:"<html style=background:buttonface><title>作者:myzam 2011-3-18</title><body>hello world<br/>hello<hr/>world<script language=vbscript>msgbox (123)</script></body></html>"
复制代码 引号中再来引号怎么办?
如 
mshta vbscript:"msgbox ("hello world")"
这样用会报错。解决的办法是采用双双引号。也就是说看实例:
  1. mshta vbscript:"<html ><title>test</title><body>hello world <script language='vbscript'>msgbox (""hello world"") </script></html>"
复制代码 注意这两句的细微差别。它们都能成功执行。
  1. mshta vbscript:"<html ><title>test</title><body>hello world <script language=""vbscript"">msgbox (""hello world"") </script></html>"
复制代码 如果你不喜欢那个弹出的hta窗口,那就加一句话window.close或self.close
  1. mshta vbscript:"<html ><title>myzam</title><body>hello world <script language=""vbscript"">msgbox (""hello world""):windwo.close </script></html>"
复制代码 如果你要注释掉脚本中的语句也好办,看代码:
  1. mshta vbscript:"<html ><title>myzam</title><body>hello world <script language=""vbscript"">msgbox (""hello world""):‘windwo.close </script></html>"
复制代码 就这么简单。
如果你怀疑这种标准用法,就在看一个脚本吧
  1. mshta vbscript:"<script language=vbs>set myzam=createobject(""sapi.spvoice""):myzam.speak ""hello world 日本地震了啊""</script>"
复制代码 按这种标准写法,你想在cmd中写多长的脚本都可以,但是我想没人喜欢在cmd中写那种长脚本。当然以此为依据可以简化在cmd 中的输入,比如标签<html>可以不写出来等等。
如果要在bat中运行vbs我想这是一种比较自然的方法。下面给出一个bat程序
  1. @echo off
  2. cmd /c mshta vbscript:"<script language='vbscript'>msgbox (""hello
  3. world""):self.close</script>"
复制代码 其实,上面的bat根本就不需要cmd /k,直接保存为bat 点击就可以运行。这与其它的
bat有这么一点细微的差别。
  1. @echo off
  2. mshta vbscript:"<script language='vbscript'>msgbox (""hello
  3. world""):self.close</script>"
复制代码 最后:1#####hta文件的宿主----mshta
                      html的宿主-----IE
                      VBS的宿主----wscrit
                      asp的宿主----IIS
                      BAT的宿主---cmd
                      vba的宿主是---office
         2#####mshta语法
         vbs脚本时
            mshta vbscript:"html标签"
         js脚本时
            mshta jscript:"html标签"
          说明:第一,不要换行
                   第二,标签属性可以用单引号,也可以不用引号,如果要用双引号,那么  双引号请该为双双引号
                   第三,遇到字符串,请用双双引号。
                   第四,如果要从参数的角度讲的话,mshta后面的都可以叫参数。
                     事实上mshta后面的就是参数。

总之,玩mshta命令就是玩的是html标签。
good luck!


--------------------------------------------------
可接受环境变量
  1. @echo off
  2. set t="<script language=vbs>msgbox 123:self.close</script>"
  3. mshta vbscript:%t%
复制代码 到此,在bat中使用vbs得到了完全解决。从此可以在bat和vbs间自由的航行了。

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

VB脚本:BAT脚本调用VB脚本的方法

毫无疑问地,是懒惰促进或引领着人类科技的发展。工作中使用一些小工具可以大幅提高工作效率,释放体力劳动,减少手工操作与守候时间,何乐而不为呢? 在数通平台软件的性能或功能稳定性测试过程中,经常需要用一...

可以通过执行vbs脚本来隐藏执行bat

可以通过执行vbs脚本来隐藏执行bat: (将以下代码保存为.vbs文件,假设要执行c:/x.bat) createobject("wscript.shell").run "c:/x.bat",0...
  • LaoWu_
  • LaoWu_
  • 2011年03月31日 19:38
  • 7779

Java中IO流操作文件总结

IO流操作文件总结 拷贝文件 package com.cloud.day1; import java.io.File; import java.io.FileInputStre...
  • dzy21
  • dzy21
  • 2016年07月24日 17:08
  • 933

python wsgi 规范 与java的servlet规范比较

1. wsgi 是python的特有规范, 与java的servlet规范一样, java特有 搞这个规范干嘛呢: 简单socket: 执行下面代码, 在浏览器里面执行:http://localh...

DOS命令集锦(2)使用批处理文件

使用批处理文件                          ——批处理文件的意义     后缀是bat的文件就是批处理文件,是一种文本文件。简单的说,它的作用就是自动的连续执行多条命令,批...

使用dos批处理文件(.bat)(转)

使用dos批处理文件和dos批处理文件的意义 后缀是bat的文件就是批处理文件,是一种文本文件。简单的说,它的作用就是自动的连续执行多条命令,批处理文件的内容就是一条一条的命令。那它有什么用呢? ...

DOS批处理文件使用技巧

  • 2009年01月14日 16:55
  • 3KB
  • 下载

windows xp 使用bat文件DOS批处理文件设置网络地址为固定或者动态获取

有时候需要来回切换网络的IP地址为静态或者自动获取,很麻烦,只知道linux上可以写shell文件来批处理,原来windows上也可以写批处理文件。 从网上找了找,还真有,挺方便的。这里是设置无线网...

将DOS批处理文件转换为Shell脚本(ZHUAN)

Appendix L. 将DOS批处理文件转换为Shell脚本 相当多的在PC上学习脚本的程序员都在运行DOS. 事实上, 残废的DOS批处理文件语言还是可以编写出一些比较强大的脚本来的, 虽然...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:dos批处理文件中使用vbs
举报原因:
原因补充:

(最多只允许输入30个字)