PowerShell을 사용하여 dos 명령의 출력을 얻는 방법


0

PowerShell에서 dos 명령을 실행하고 정확한 출력을 얻고 있습니다. 그러나 출력을 포착하고 처리하려고합니다.

예:

PS:>cmd.exe bpclimagelist.exe -t FULL
Backed Up         Expires       Files      KB     C Sched Type      Policy
----------------  ---------- -------- ----------- - --------------- ------------
08/25/2018 00:03  11/25/2018   179940    88589741 N Full Backup     WIN-01

나열된 테이블에서 백업 날짜를 가져 오려고합니다. 그것을 달성 할 수있는 방법이 있습니까?


1
DOS 명령의 출력을 파일에 재 할당하십시오 ( > %TEMP%\outfile.txt ) 그런 다음 PS 스크립트에서 출력 데이터를 읽습니다.
Akina

답변:


0

PS 콘솔에서 실행 파일을 실행하려면 cmd.exe를 호출 할 필요가 없습니다.

실행 파일의 출력을 파이프하면 배열로 가질 수 있고 조작을 시작할 수 있습니다.

하나씩 출력 라인을 통과하려면 :

PS:>bpclimagelist.exe -t FULL | Foreach-Object{ Write-Host $_ }; 

배열 유형 변수를 만들어서 사용할 수 있습니다. 처럼:

PS:>$a = bpclimagelist.exe -t FULL; Write-Host $a[2]; 

인쇄 할 것입니다 :

08/25/2018 00:03  11/25/2018   179940    88589741 N Full Backup     WIN-01

실행 파일이 PATH에 없거나 공백을 포함하고 있다면 호출 연산자 (& amp;)를 사용하고 exe를 인용해야합니다.

PS:>$a = &'C:\BCP Program Folder\bpclimagelist.exe' -t FULL; Write-Host $a[2];

약간 정보 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.