如何使用批处理创建一个vbs文件

如何使用批处理创建一个vbs文件

问题描述:

我想让这个批处理文件运行很多事情,它只输入最后一个vbs行到实际的vbs文件。如何使用批处理创建一个vbs文件

:run 
cls 
color 0a 
cd "%userprofile% \desk" 
if exist run1.vbs del run1.vbs 
copy Nul "run1.vbs" 

echo set b=createobject("wscript.shell") >> "run1.vbs" 
echo x=inputbox ("type:") > "run1.vbs" 
echo strtext = (x) > "run1.vbs" 

echo if x=("exe") then > "run1.vbs" 
echo y=inputbox("run:") > "run1.vbs" 

echo b.run (y) > "run1.vbs" 
echo end if > "run1.vbs" 
echo if x=("spam") then > "run1.vbs" 
echo z=inputbox ("spam:") > "run1.vbs" 
echo wscript.sleep 2000 > "run1.vbs" 
echo for var = 1 to 50 > "run1.vbs" 
echo b.sendkeys z > "run1.vbs" 
echo b.sendkeys "{ENTER}" > "run1.vbs" 
echo next > "run1.vbs" 
echo end if > "run1.vbs" 

cd "%userprofile% \desk" 
start run1.vbs 
ping -n 3 127.0.0.1>nul 

exit 
+2

从UNIX shell的体验:'>'截断该文件,然后写进去。尝试'>>'或Windows批处理用于追加运算符的任何内容。 – 2014-10-01 04:24:42

+1

靠近尾部的cd命令看起来不正确 - 删除\之前的空格,并在cd后添加a/d,以防万一您从另一个驱动器运行。 – cup 2014-10-01 04:51:25

+0

更好地检查此:http://stackoverflow.com/questions/9074476/is-it-possible-to-embed-and-execute-vbscript-within-a-batch-file-without-using-a – npocmaka 2014-10-01 08:13:14

最好尝试创建一个hybrid file

<!-- : Begin batch script 
@echo off 

:run 
cls 
color 0a 
cd "%userprofile%\desk" 

cscript //nologo "%~f0?.wsf" 

ping -n 3 127.0.0.1>nul 
exit /b 

----- Begin wsf script ---> 
<job><script language="VBScript"> 

    set b=createobject("wscript.shell") 
    x=inputbox ("type:") 
    strtext = (x) 

    if x=("exe") then 
    y=inputbox("run:") 

    b.run (y) 
    end if 
    if x=("spam") then 
    z=inputbox ("spam:") 
    wscript.sleep 2000 
    for var = 1 to 50 
    b.sendkeys z 
    b.sendkeys "{ENTER}" 
    next 
    end if 
</script></job>