提取 .7z 文件时将 7-Zip 的命令行输出重定向到 Windows 上的 /dev/null

提取 .7z 文件时将 7-Zip 的命令行输出重定向到 Windows 上的 /dev/null

我有一个命令,例如"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产生任何解压缩的文件,因为 7-Zip 似乎解压缩到 NUL 而不是将命令文本输出推送到 NUL(这是我们想要的)。

实际上,该命令可以在 Windows 命令 shell 中运行(也就是说,它会按照我的需要解压文件,但不会在控制台中记录文本),但它不能在TeamCity 的代理在其命令行构建运行器中执行(即,解压到 NUL)。

如何让它在 TeamCity(作为服务执行)中执行相同的操作?

答案1

尝试这样做:

%COMSPEC% /c "%ProgramFiles%\7-Zip\7z.exe" ...

答案2

7z.exe x foo.7z -y > NUL 在我的情况下运行良好。您确定此行为不是由其他原因引起的,并且您没有看到由于输出重定向而导致的错误消息吗?

另外,您可以将输出重定向到文件而不是 NUL,从而将其从输出中排除。

相关内容