Versuchen Sie folgendes:
%COMSPEC% /c "%ProgramFiles%\7-Zip\7z.exe" ...
Ich habe einen Befehl wie "C:\Program Files\7-zip\7z.exe" x foo.7z -y
den, der (mit vollen Pfaden) in das aktuelle Verzeichnis extrahieren wird.
Was ich aber nicht will, ist, die einzelnen Pfade nach stdout auszuspulen. Dies sind Informationen, die ich nicht brauche.
Unter Windows führt die Umleitung zu NUL (das Äquivalent /dev/null
zu Linux) zu einer "C:\Program Files\7-zip\7z.exe" x foo.7z -y > NUL
Datei, die keine entpackten Dateien erzeugt, da 7-Zip anscheinend zu NUL entpackt wird, anstatt den Befehl text-output an NUL zu verschieben (was wir wollen) ).
Tatsächlich funktioniert dieser Befehl von einer Windows-Befehlsshell aus (d. H. Er entpackt die Dateien nach Belieben, ohne jedoch Text in der Konsole zu protokollieren), ir macht jedoch nicht die TeamCity- Agentenausführung in seinem Befehlszeilen-Build-Runner (d. H, wird in NUL entpackt).
Wie kann ich erreichen, dass in TeamCity (das als Dienst ausgeführt wird) dasselbe geschieht?
Versuchen Sie folgendes:
%COMSPEC% /c "%ProgramFiles%\7-Zip\7z.exe" ...
7z.exe x foo.7z -y> NUL Funktioniert in meinem Fall einwandfrei. Sind Sie sicher, dass das Verhalten nicht von etwas anderem verursacht wird, und Sie erhalten die Fehlermeldung wegen der Umleitung der Ausgabe nicht?
Sie können die Ausgabe auch in eine Datei anstelle von NUL umleiten und damit auch von der Ausgabe ausschließen.