Перенаправьте вывод командной строки 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 и, таким образом, также исключить его из вывода.

Другие вопросы по тегам