2013-03-21 3 views
0

Powershell V2.0을 사용하여 SQL 쿼리의 내용을 파일에 쓰려고합니다. Write-Host CMDlet을 사용하여 콘솔 화면에 쓸 수는 있지만 Write-Output으로 변경하면 test.txt 파일에 하나의 결과 만 반환됩니다 (약 700 개 대신). 왜 이럴 수 있니?powershell 결과를 파일로 출력

foreach ($row in $DataSet.Tables[0].Rows){ 
    $name = $row[0].ToString().Trim() 
    Write-Output $name >test.txt 
    } 

답변

0

. 이로 인해 파일이 각 레코드로 다시 쓰여지고 출력 파일의 마지막 레코드 만 남아있게됩니다.

이 잘 작동해야합니다

&{ 
    foreach ($row in $DataSet.Tables[0].Rows){ 
    $row[0].ToString().Trim() 
    } }| set-content test.txt 
+0

감사 작동하지 않을 수 있습니다 그래서 몇 가지 문자열 조작을 수행해야 할 수 있습니다 이제는 매번 값에 대한 매개 변수를 제공하겠습니다. – steven

+0

대체 솔루션 게시 됨 – mjolinor

0

당신은 단지 하나 개의 라인을 받고있어 (그리고 마지막 결과이다)을 > 운영자가 덮어 쓰기 때문에. >> 첨부.

는 그러나 같은 결과를 얻을 수있는보다 효율적인 방법 (테스트되지 않은)입니다 : 당신은 모든 레코드에> (대신 >>의)를 사용하여 출력 파일로 리디렉션하고

$DataSet.Tables[0].Rows|select-object -expandproperty NAMEOFFIRSTCOLUMN|out-file test.txt 
+0

감사가 때마다 현재 값에 대한 매개 변수를 제공 나에게 묻는 데요 .. 당신의 제안 방법이 묻는 데요 – steven