2012-03-20 3 views
2

Powershell 스크립트의 출력을 txt 파일로 리디렉션하려고합니다. 모든 출력은 여전히 ​​창에 인쇄됩니다,출력을 리디렉션하는 방법은 무엇입니까?

.\script.ps1 > list.txt

를하지만 도움이되지 않습니다 다음 PowerShell 창에서

, 나는보십시오.

내가 다음 시도 :

.\script.ps1 >& list.txt

그리고이 오류를 가지고 : 당신이 캡처하고자하고 출력이 쓰기 호스트를 사용하여 콘솔에 기록되는 경우

Missing file specification after redirection operator. 
At line:1 char:21 
+ .\script.ps1 > <<<< & list.txt 
    + CategoryInfo   : ParserError: (:) [], ParentContainsErrorRecordException 
    + FullyQualifiedErrorId : MissingFileSpecification 

답변

3

당신이 Write-Output에 사람들을 변경해야하거나 할 것 중 하나 Write-Host (또는 [Console]::WriteLine)를 사용하여 script.ps1 출력을 작성하는 경우 : 방법 >에 의해

powershell.exe -File test.ps1 > out.txt 

Out-File에 대한 문법 설탕, 그들은 똑같은거야.

+1

이제 "리디렉션 연산자 후 파일 사양이 누락되었습니다."가 표시됩니다. 내가 생각할 수있는 많은 변형을 시도했다 : ( –

0

을, 당신은 필요 그것을 Write-Output으로 변경하십시오.

+0

스크립트는 [Console] :: WriteLine을 사용합니다. – JBurace

+1

@JBurace'[Console] :: WriteLine'과'Write-Host'는 기본적으로 같은 것입니다. '[Console] :: Write'은'Write-Host -NoNewLine'입니다. –

+0

놀랍습니다. – mjolinor

0

> 뒤에 &이 필요하지 않습니다. 그것은 단지 뭔가를 실행하는 데 사용됩니다.

.\script.ps1 > list.txt 

script.ps1 당신이 그것을 업데이트해야합니다 Write-Host 또는 [Console]::WriteLine를 사용하여 출력됩니다.

HereWrite-Host 스크립트를 출력 가능하게 업데이트하는 예입니다.

+0

아마도'Write-Host'를 의미 할 것이다.'Write-Output'는'> list.txt'로 잘 동작합니다. –

관련 문제