在命令行中执行VBS或者JS代码、powershell代码

今天不知道什么原因,就研究了一下在cmd命令行中执行vbs或者js代码,这里算是一种思路吧

 

执行VBS代码,再由vbs执行bat程序
:: mshta vbscript:createobject("wscript.shell").run("RunWebService.bat D:\Publish\TestWeb\TestShareFile",vbhide)(window.close)
:: mshta vbscript:createobject("wscript.shell").run("C:\t1\RunWebService.bat D:\Publish\TestWeb\TestShareFile",0)(window.close)

::%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit

 

执行JS代码,再由js执行bat程序

::mshta javascript:new ActiveXObject("WScript.Shell").Run("cmd /c C:\t1\RunWebService.bat D:\Publish\TestWeb\TestShareFile",0);window.close()
::mshta javascript:(new ActiveXObject('WScript.Shell')).Run('cmd /c C:\t1\RunWebService.bat D:\Publish\TestWeb\TestShareFile',0);window.close();
::mshta "javascript: new ActiveXObject('WScript.Shell').Run('cmd /c C:\t1\RunWebService.bat D:\Publish\TestWeb\TestShareFile',0);window.close()"
::mshta javascript: new ActiveXObject("WScript.Shell").Run("cmd /c C:\t1\RunWebService.bat D:\Publish\TestWeb\TestShareFile",0);window.close()

 

执行 powershell 代码:

 powershell "if(1 -gt 0){echo 1111} else {echo 000}"

 

执行 powershell 脚本文件:

 powershell .\xxx.ps1

 

具体的可以参考我上一篇文章:运行bat时隐藏cmd窗口 

==================================================================

另外,再给个命令,我自己还没有研究这个命令,先记录下;

示例功能:从指定url下载内容并保存

cscript //NoLogo /e:vbscript web_Download.vbs  "http://xxx.ddd.com/abc.html"  "c:\tmp\123.txt"

个人建议:尽量使用script来执行脚本文件,把需要的脚本单独放到脚本文件中,尽量不使用mshta来运行脚本代码

主要原因:

1)放在单独的脚本文件中,方便调试等

2)mshta是解析html内容的,当然也可以解析脚本,但如果牵扯CreateObject或者ActiveXObject的对象的,可能会“有力不从心”的情况,导致无法创建对象

3)和bat中的代码放到一起,可能会导致和js或vbs代码语法错误和不兼容

posted on 2021-04-08 16:47  jack_Meng  阅读(1727)  评论(0编辑  收藏  举报

导航