ヘルプ メッセージの出力をバイナリから output.txt ファイルにリダイレクトしようとしていますが、ヘルプ メッセージが期待どおりにリダイレクトされません。いくつかの異なる解決策を試しましたが、どれも機能しませんでした。試したコマンドは次のとおりです (transcript to を試しましたが、機能しません)。
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
出力の処理に関する詳細は以下を参照してください。リダイレクトについて