로그 파일이 아닌 변수로 출력을 캡처하는 방법은 무엇입니까?
이렇게 하면 출력이 로그 파일에 기록됩니다.
& $Env:WinDir\system32\inetsrv\appcmd.exe >test.log
그러나 출력을 문자열 변수로 유지하여 전자 메일 본문에 사용하려면 어떻게 해야 합니까?
저는 이것을 운이 없이 시도했습니다.
$test = ""
& $Env:WinDir\system32\inetsrv\appcmd.exe >$test
Write-Host $test
다음 작업을 수행해야 합니다.
$test = & $Env:WinDir\system32\inetsrv\appcmd.exe
오류도 리디렉션하려면 다음을 추가합니다.2>&1
마침내.
실행 파일의 출력을 캡처하는 것은 다음과 같이 간단합니다.
$cmdOutput = &"Application.exe" 2>&1
&1 - 출력에 오류 스트림을 포함
PowerShell에서 실행 파일의 반환 형식은 문자열 배열입니다.이러한 출력을 기록하는 경우,
Write-Host $cmdOutput
배열의 문자열을 공백으로 구분된 출력 스트림으로 출력합니다.
한 줄에 한 줄씩 문자열로 인쇄하려면 다음을 선택합니다.
Write-Output $cmdOutput
또는
$cmdOutput = &"Application.exe" | Out-String
Write-Host $cmdOutput
언급URL : https://stackoverflow.com/questions/8423368/how-to-capture-output-in-a-variable-rather-than-a-logfile
'source' 카테고리의 다른 글
PowerShell 기능을 병렬로 여러 번 실행하는 방법은 무엇입니까? (0) | 2023.08.28 |
---|---|
Matplotlib 범례가 작동하지 않습니다. (0) | 2023.08.28 |
powershell로 문자열을 분할하여 첫 번째 및 마지막 요소 가져오기 (0) | 2023.08.28 |
jQuery 클릭 라벨 클릭 시 두 번 실행됩니다. (0) | 2023.08.28 |
데이터베이스 Javascript와의 동기화 문제 (0) | 2023.08.28 |