如何从执行的Python文件中返回VBScript字符串

2 投票
1 回答
5570 浏览
提问于 2025-04-17 17:24

我刚接触VBScript,现在想从Python文件中执行一个vbs文件。在这个vbs文件里,有一个String value(字符串值),我想把它返回到Python文件里。我试过用WScript.Quit()WScript.StdOut(),但是好像它们不支持字符串,所以出现了类型不匹配的错误。

有没有其他方法可以做到这一点呢?

1 个回答

4

如果你在控制台运行你的 .vbs 文件,也就是使用 CScript.exe,你可以用 ">" 来重定向输出,也就是把输出结果保存到文件里:

CScript example.vbs //NoLogo > output.txt

在你的 .vbs 文件里面,可以使用 WScript.StdOut 对象,配合 .Write.WriteLine 方法来输出内容。例如:

' example.vbs
Main

Sub Main()
    Dim result
    result = 1 / Cos(25)
    WScript.StdOut.Write result
End Sub

但是如果你是用 WScript.exe 来运行你的脚本...

WScript example2.vbs

...那你就需要使用 FileSystemObject 来把输出写入文件。

' example2.vbs
Main

Sub Main()
    Dim result, fso, fs
    result = 1 / Cos(25)
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set fs  = fso.CreateTextFile("output.txt", True)
    fs.Write result
    fs.Close
End Sub

撰写回答