Перенаправьте вывод командной строки 7-Zip в /dev/null в Windows при извлечении файла.7z
У меня есть команда, такая как "C:\Program Files\7-zip\7z.exe" x foo.7z -y
который будет извлекать (с полными путями) в текущий каталог.
Однако то, чего я не хочу, это выделять отдельные пути к стандартному выводу. Это информация, которая мне не нужна.
Тем не менее, в Windows, перенаправив это в NUL (эквивалент /dev/null
на Linux) а-ля "C:\Program Files\7-zip\7z.exe" x foo.7z -y > NUL
не производит unzip'd файлы, потому что 7-Zip, кажется, распаковывает в NUL вместо того, чтобы выдвигать текстовый вывод команды в NUL (что мы и хотим).
На самом деле, эта команда работает из командной оболочки Windows (то есть, она распаковывает файлы так, как я хочу, но без записи текста на консоль), но это не происходит из- за выполнения агента TeamCity в сборщике командной строки (то есть распаковывается в NUL).
Как мне заставить его делать то же самое в TeamCity (который выполняется как сервис)?
2 ответа
Попробуйте сделать это:
%COMSPEC% /c "%ProgramFiles%\7-Zip\7z.exe" ...
7z.exe x foo.7z -y > NUL В моем случае работает нормально. Вы уверены, что поведение не вызвано чем-то другим, и вы не видите сообщение об ошибке из-за перенаправления вывода?
Кроме того, вы можете перенаправить вывод в файл вместо NUL и, таким образом, также исключить его из вывода.