Windows Shell中的输出未记录到文件

时间:2018-10-02 10:44:40

标签: windows logging vbscript

运行时

"C:\Program Files (x86)\7-Zip\7z.exe" a c:\Temp\Test.zip c:\Intel\* >c:\Temp\Test.log

在Win10的命令提示符下,一切正常运行:将文件压缩在ZIP存档中,并将7-Zip的输出写入日志文件。

将此行转移到以下VBScript示例代码

Dim oWsh: Set oWsh = WScript.CreateObject("WScript.Shell")
Dim s7zip: s7zip = """C:\Program Files (x86)\7-Zip\7z.exe"" a c:\Temp\Test.zip c:\Intel\* >c:\Temp\Test.log"
oWsh.Run s7zip

再次导致ZIP压缩文件中的文件被压缩,但是输出将不会写入日志文件,因为根本不会写入任何日志文件。我猜想在Windows Shell中运行命令时,此行为与“ StdOut不是StdOut”有关,但是我没有找到任何解释或解决此问题的方法。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

重定向操作符(>)是CMD内置功能。您需要在CMD中运行命令才能使其正常工作。

s7zip = "cmd /c ""C:\Program Files (x86)\7-Zip\7z.exe"" a ..."
oWsh.Run s7zip, 0, True