작은 배경을 먼저 사용하십시오.PowerShell에서 EXE 출력 캡처
저는 GPG (gnupg.org)를 사용하여 Powershell 스크립트로 파일을 암호화하는 임무를 맡았습니다. 내가 호출하는 특정 exe는 gpg.exe입니다. 명령을 실행할 때마다 출력을 캡처하고 싶습니다. 다음과 같이
는 예를 들어, 내가 PowerShell에서 공개 키를 가져옵니다
& $gpgLocation --import "key.txt"
$ gpgLocation 단순히 gpg.exe의 파일 위치 (기본값은 "인 C : \ 프로그램 파일 \ GNU \ GnuPG는 \ GPG
& $gpgLocation --import "key.txt" | out-file gpgout.txt
내가 할 모든 적절라는 1킬로바이트 파일이지만, 완전히 비어 내가 OUT-에 대한 몇 가지 플래그를 시도했다 : .EXE는 "
는여기 내 전체 문제는 나는 것을 시도하는 경우. 보기 만하는 파일 내가 버릇에 빠지면.
param
(
[string] $processname,
[string] $arguments
)
$processStartInfo = New-Object System.Diagnostics.ProcessStartInfo;
$processStartInfo.FileName = $processname;
$processStartInfo.WorkingDirectory = (Get-Location).Path;
if($arguments) { $processStartInfo.Arguments = $arguments }
$processStartInfo.UseShellExecute = $false;
$processStartInfo.RedirectStandardOutput = $true;
$process = [System.Diagnostics.Process]::Start($processStartInfo);
$process.WaitForExit();
$process.StandardOutput.ReadToEnd();
어떤 아이디어 :
나는이 코드에 명령을 전송 (그리고 보통 아웃 파일 등으로 출력을 캡처) 시도했습니다? 나는 필사적이다!
+1 중 (그러나 표준 출력) –