使用批处理文件创建VBScript

时间:2017-09-02 16:39:28

标签: batch-file vbscript

我正在尝试创建一个将创建VBScript的批处理文件。 我尝试过这样的事情:

echo somescripthere & morehere , andhere >> hello.vbs
pause (for debugging)

但是当我运行批处理文件时,它会以

响应
"somescripthere" is not recognized as an internal or external command,
operable program or batch file.
"morehere" is not recognized as an internal or external command,
operable program or batch file.
"andhere" is not recognized as an internal or external command,
operable program or batch file.

任何人都知道造成这种情况的原因以及我如何解决这个问题?我不擅长编码,甚至更糟糕的是VBScript。

2 个答案:

答案 0 :(得分:1)

以下是一个示例,说明如何从批处理文件创建vbscript并使用cscript引擎执行它:

@echo off
Title Typewriter with speaking voice by Hackoo 2017
Color 0A & Mode con cols=70 lines=3
::*************************************************
Rem Just creating a vbscript file 
Rem to be executed with cscript engine
(
echo strText=wscript.arguments(0^)
echo intTextLen = Len(strText^)
echo intPause = 150
echo For x = 1 to intTextLen
echo     strTempText = Mid(strText,x,1^)
echo     WScript.StdOut.Write strTempText
echo     WScript.Sleep intPause
echo Next
echo Set Voice=CreateObject("SAPI.SpVoice"^)
echo voice.speak strText
)>%tmp%\%~n0.vbs
::*************************************************
:Main
set Msg="This is only a testing string to see if my script really works or not?"
Call :Typewriter %Msg%
set Msg="      This a message from a vbscript created from a batch file !"
Call :Typewriter %Msg%
set Msg="         I want to say Hello for everybody on Stackoverflow !"
Call :Typewriter %Msg%
Timeout /t 3 /nobreak>nul
if exist "%tmp%\%~n0.vbs" Del "%tmp%\%~n0.vbs" 
Exit
::*********************************************************************
:TypeWriter
Cls
echo(
cscript.exe /noLogo "%tmp%\%~n0.vbs" "%~1"
exit /b
::*********************************************************************

使用vbscript和批处理在线收听广播电台的另一个例子

@echo off
Title Listen to the music with batch and vbscript
mode con cols=60 lines=3 & color 9E
echo.
Echo   To stop the music just close this window 
set "file=http://www.chocradios.ch/djbuzzradio_windows.mp3.asx"
set "vbsfile=%tmp%\%~n0.vbs"
( 
    echo Set Sound = CreateObject("WMPlayer.OCX.7"^)
    echo Sound.URL = "%file%"
    echo Sound.Controls.play
    echo do while Sound.currentmedia.duration = 0
    echo wscript.sleep 100
    echo loop
    echo wscript.sleep (int(Sound.currentmedia.duration^)+1^)*1000
)>%vbsfile%
cscript /nologo %vbsfile%

答案 1 :(得分:0)

您应该在“&”

之前添加转义字符
echo somescripthere ^& morehere , andhere >> hello.vbs
相关问题