我正在尝试编写一个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发布方式的新手。
由于
答案 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