我试图将帮助消息的输出从二进制文件重定向到 output.txt 文件,但帮助消息没有按预期重定向。我尝试了几种不同的解决方案,但都没有奏效。以下是我尝试过的命令(我尝试过转录,但没有奏效):
PS D:\user\drivers> wmic process call create ".\drivers.exe -h" > output.txt
PS D:\user\drivers> cat .\output.txt
Exécution (Win32_Process)->Create()
Méthode exécutée.
Paramètres de sortie :
instance of __PARAMETERS
{
ReturnValue = 9;
};
PS D:\user\drivers> $output = Invoke-Expression ".\drivers.exe -h"
PS D:\user\drivers>
PS D:\user\drivers> $output| Out-File -FilePath ".\output.txt"
PS D:\user\drivers> cat .\output.txt
PS D:\user\drivers> .\drivers.exe -h | Out-File -FilePath ".\output.txt"
Usage: /s /e /f <target-path>
/s - Un-package the package in silent mode (not showing user interaction UI)
/f - Runtime switch that overrides the default target path specified in build time
/e - Prevent execution of default executable file specified in build time.
Only extracting the content files to target folder(Use this with /s /f)
PS D:\user\drivers> cat .\output.txt
答案1
该输出看起来可能被发送为错误而不是标准输出。请尝试将stderr
( 2>
) 重定向到文件,如下所示
.\drivers.exe -h 2> output.txt
或者重定向stdout
和stderr
:
.\drivers.exe -h 2>&1 > output.txt
有关处理输出的更多信息请参见:about_Redirection