Выход не зарегистрирован в файл в оболочке Windows - PullRequest
0 голосов
/ 02 октября 2018

При запуске

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

из командной строки на Win10 все работает так, как и должно работать: файлы сжимаются в ZIP-архиве, а вывод 7-Zip записывается в журналfile.

Передача этой строки в следующий пример кода 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-архиве, но вывод не будет записан в файл журнала, поскольку нетфайл журнала будет записан вообще.Я предполагаю, что это поведение связано с тем, что "StdOut не является StdOut", когда команда запускается в оболочке Windows, но я не нашел объяснения или решения проблемы.Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 02 октября 2018

Оператор перенаправления (>) является встроенной функцией CMD.Вам нужно запустить свою команду в CMD, чтобы она заработала.

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