Я пытаюсь перенаправить вывод сообщения справки из двоичного файла в файл 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
Дополнительную информацию об обработке выходных данных см. в:about_Redirection