怎么用.bat执行一大串.vbs代码?

如题所述

@echo off
set #=Any question&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$% %z%
cd /d "%~dp0"
for /f "delims=:" %%a in ('type "%~f0"^|findstr /in "^exit$"') do set lastline=%%a
more +%lastline% "%~f0">"t.vbs"
start "" "t.vbs"
echo;%#% +%$%%$% %z%
pause
exit
msgbox "the vbscript codes form here"

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-08-24
方法一(混编法,不输出临时的vbs文件):
:On Error Resume Next
Sub bat
echo off & cls
echo BAT执行VBS & pause
start wscript -e:vbs "%~f0"
Exit Sub
End Sub
MsgBox "This is vbs"

方法二(集成法,会输出临时的vbs文件):
@echo off
echo bat执行vbs
(echo MsgBox "This is vbs"
echo wscript.quit)>myvbs.vbs
myvbs.vbs
exit追问

第2种方法只会创建,而且里面没有代码,也不会自动打开,不会删除

追答

第二种方式,是可以正常创建的。但要注意输出方式,一些特殊字符需要进行转义。一旦没有转义特殊字符,那么就会导致vbs文件无法创建。那么没有被正确创建了,肯定无法正常运行喽!
至于删除,这个您自己添加一个del命令不就完了。

关于第二种输出方式,我还有改进版的方法。这种改进版的可以不用考虑到特殊字符。

本回答被提问者和网友采纳
相似回答