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