从VBS调用批处理文件(多个命令行以获取输出)

时间:2013-02-27 10:00:00

标签: batch-file vbscript

我正在尝试编写一个VBscript来调用批处理文件。 我可以从命令提示符处做的事情,但我没有从VBscript做同样的事情 来自cmd:

C:\PR\PS\build\bin>execDl.bat Jack > History.txt \n 
Jack> getHistory 50008 Dl \n
quit

我可以从剧本中调出第一步,但我不明白如何进行第二步和第三步。到现在为止我的剧本

dim shell
dim ID 
ID ="50008"
dim Deal 
Deal ="Deal"
dim UserName 
Deal ="admin"
dim OutputPoint 
OutputPoint =">"
dim batchFileFolder
batchFileFolder = "C:\PR\PS\build\bin\"
set shell=createobject("wscript.shell")
strRun = batchFileFolder & "execDl.bat admin " & OutputPoint _
   & batchFileFolder & "output1.txt" & """"
shell.run(strRun)
set shell=nothing

非常感谢任何帮助。

c:\ PR \ PS \ build \ bin> execDl.bat admin ------>在命令提示符下给出下面的输出,然后光标指向admin
当前用户是:tswan


欢迎使用FlowEngine Prototype命令行界面。的
有关有效命令的列表,(在提示时输入“help”。


管理> getHistory 7006 Dl

文件的活动历史:7006

提交的流程:2010-05-19 00:55:59.56
流程编号:3
发布者:swang

活动名称资源操作完成日期评论


提交tswan提交2010-05-19 00:55:59.937 交易经理tswan批准2010-05-19 00:56:26.013 已批准已完成2010-05-19 00:56:26.027

getHistory“7006 Dl”已成功完成。


这是我在命令提示符中遵循的命令的总体顺序,而我在顶部提到的命令是将输出重定向到文本文件的三步命令。

我怀疑的是我如何执行包含getHistory和vb脚本中的quit语句的其余步骤。 :( @Mr模糊按钮感谢格式化它。我是stackoverflow发布方式的新手。

由于

1 个答案:

答案 0 :(得分:0)

基本上,您需要将通常在FlowEngine提示符下键入的命令放入文件中,然后重定向此文件中的标准输入。类似的东西:

dim fso
dim f
dim cmd
dim shell
dim inpFile
dim outFile
inpFile = "execInput.txt"
outFile = "execOutput.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile( inpFile , 2, True)
f.Write "getHistory 50008 Deal" & vbCrLf & "quit" & vbCrLf
f.close
set shell=createobject("wscript.shell")
cmd = "execDeal.bat admin < " & inpFile & " > " & outFile
shell.run( cmd )
set shell=nothing