2017-11-20 11 views
0

CSV 데이터를 CSV 파일로 내 보내야합니다. 이 코드가 :이 경우Export-CSV가 파일을 만들지 않습니다.

$Input | where {$AnotherFile.userPrincipalName -notcontains $_.login} | 
    Export-Csv -Path "$PSScriptRoot + \output.csv" -Delimiter ";" -NoTypeInformation 

를, 스크립트가이 오류와 함께 종료 : 경로의 일부 "스크립트 루트 + \ output.csv하는 것은 찾을 수 없습니다." 스크립트 루트은 스크립트가있는 폴더의 전체 경로로 올바르게 작성됩니다. 이 경우

$Input | where {$AnotherFile.userPrincipalName -notcontains $_.login} | 
    Export-Csv -Path "output.csv" -Delimiter ";" -NoTypeInformation 

는, 스크립트 (오류가 표시되지 않습니다) 원활하게 마무리 할 것 같다,하지만 파일이 생성되지 않습니다

나는이 시도했다. 나는 다른 디렉토리에서 생성되지 않았다면 디스크 검색을 시도해 보았습니다.

이 완벽하게 올바른 작동 :

$Input | where {$File.userPrincipalName -notcontains $_.login} 

을 내가 정확하게 화면에 나열 내가 원하는 모든 데이터를 얻을이 경우. 멋지지만 쓸모가 없습니다. Export-Csv cmdlet에서 어떤 오류가 발생합니까?

답변

1

CSV "$PSScriptRoot + \output.csv"의 경로는 사용자의 의도가 아닌 C:\folder + \output.csv으로 평가됩니다.

공백을 제거하고 +이므로 공백을 제거하십시오. "$PSScriptRoot\output.csv" 그러면 C:\folder\output.csv이됩니다.

$Input | where {$AnotherFile.userPrincipalName -notcontains $_.login} | Export-Csv -Path "$PSScriptRoot\output.csv" -Delimiter ";" -NoTypeInformation 
+0

감사합니다. 나는 그것이 "어리석은"일인 것임을 알았고, 나는 그것을 알아낼 수 없었다 :-) –