在vbscript中描述ec2实例时,将带有comspec和多个参数的objShell.run重定向到文件中

时间:2015-03-23 15:38:34

标签: amazon-web-services vbscript amazon-ec2 ec2-api-tools

我一直在努力解决这个问题已经有一段时间了,似乎没有人在论坛或谷歌发布这样的内容,所以我会尝试在这里得到一些帮助。 我正在使用带有多个参数的vbs来描述ec2实例,并且我使用常量来显示命令行窗口。脚本可以工作,但不是将数据保存到输出文件中,而是将其保存到一个文件中,该文件的值为“outFile”并添加一些随机数。 这是我的命令:

            'objShell.Run "%COMSPEC% /c aws ec2 describe-instances --region " & region + " --filters " & Filters + " --profile " & ProfileName + " --query " & Query + " --output " & oFormat + ">>" & outFile & WindowStyleStealth, false _

所以在那段代码之前我的outFile =“cmdresult.txt”并且脚本将数据写入cmdresult.txt546234895 - 我无法弄清楚如何移动“>>”所以它会附加到该文件。如果我取出WindowStyleStealth,则为false,然后离开:

... outFile _

然后它工作得很好,但我确实想使用隐藏命令行窗口的功能,所以任何帮助都非常感谢。 VBscripting不是我的强项,所以这可能是我无法解决这个问题的另一个原因,但希望其他人有类似的问题。

谢谢!

1 个答案:

答案 0 :(得分:0)

.Run需要3个参数,你传递2:

... & oFormat + ">>" & outFile & WindowStyleStealth, false

这会将WindowStyleStealth连结到outFile。将其更改为:

... & oFormat & ">>" & outFile, WindowStyleStealth, false

更新评论:

证据:

>> region = "REGION"
>> Filters = "FILTERS"
>> ProfileName = "PROFILENAME"
>> Query = "QUERY"
>> oFormat = "FORMAT"
>> outFile = "cmdresult.txt"
>> sCmd = "%COMSPEC% /c aws ec2 describe-instances --region " & region & " --filters " & Filters & " --profile" & ProfileName & " --query " & Query & " --output " & oFormat & ">>" & outFile
>> WScript.Echo sCmd
>>
%COMSPEC% /c aws ec2 describe-instances --region REGION --filters FILTERS --profile PROFILENAME --query QUERY --output FORMAT>>cmdresult.txt
>>

如果您仍然遇到问题,请发布您的代码。