Powershell 스크립트로 데이터를 CSV 파일로 내보낼 때 해시 태그가 온다


0

SharePoint 문서 라이브러리에서 데이터를 가져 오기 위해 powershell 스크립트를 실행하고 있습니다. 스크립트를 실행하는 동안 데이터는 csv 파일로 왔지만 열 이름에는 ";#"해시 태그가 있습니다. 예를 들어, 이름, 관리자 이름 등이 함께옵니다 ID number hashtags(123;#). 출력 CSV에서 해시 태그 또는 ID 번호가 아닌 이름, 관리자 이름 만 가져오고 싶습니다. 누구든지 업데이트 된 스크립트를 붙여 넣을 수 있습니까?

$web = get-spweb "site Url"

$caseLib = $web.lists | where {$_.title -eq "Document Library"}

$query=new-object Microsoft.SharePoint.SPQuery 

$query.ViewFields = "<FieldRef Name='LinkFilename'/><FieldRef Name='Source_x0020_Name'/><FieldRef Name='Content_x0020_Lookup'/><FieldRef Name='Manager'/><FieldRef Name='Assigned_x0020_Person'/><FieldRef Name='City_x0020_Name'/>"

do

{

$caseLibItems=$caseLib.GetItems($query) 
$query.ListItemCollectionPosition=$caseLibItems.ListItemCollectionPosition

$listItemsTotal = $caseLibItems.Count

$x = 0

for($x=0;$x -lt $listItemsTotal; $x++)

   {

    $SourceName = $caseLibItems[$x]["Source_x0020_Name"]

    $ContentLookup = $caseLibItems[$x]["Content_x0020_Lookup"]

    $Manager = $caseLibItems[$x]["Manager"]

    $AssignedTo = $caseLibItems[$x]["Assigned_x0020_To"]

    $CityName = $caseLibItems[$x]["City_x0020_Name"]

    $str = ""
    if('$SourceName; $ContentLookup; $Manager; $AssignedTo; $CityName' -ne $null)

   {

 $str =  $caseLibItems[$x]["LinkFilename"].ToString() + $SourceName + $ContentLookup + $Manager + $AssignedTo + $CityName

}

else

   {

    $str = $caseLibItems[$x]["LinkFilename"].ToString()

   }

Write-Output $str| Out-File "path"  -Append

}

}while ($query.ListItemCollectionPosition -ne $null)

Write-Host "Exiting"

내가 얻는 출력 파일

ABCD;"1234;#ABC travels";"48;#outdated";"157;#Rajukumar";"1246;#Raju";"1534;#England"

AFGV;"2678;#CDF travels";"26;#sourcedata";"24;#Johnson";"2323;#Kumar";"1298;#Japan"

xyza;"45324;#KHR travels";"324;#conducteddate";"136;#Peter";"231;#Helen";"1212;#USA"

MNGR;"11225;#XYZ travels";"368;#mangeddated";"157;#Helen";"1246;#Johnson";"3567;#AUS"

Etc

출력 파일에서 해시 태그가있는 목록 ID 이름을 얻습니다. ID 이름과 해시 태그를 원하지 않습니다. 출력 파일에 필요한 이름 만 있습니다. 누구든지이 스크립트에 도움을 줄 수 있습니까?

답변:


1

최종 사용 사례에 대해 원하는 것을 표시하지 않습니다. 그렇게 하시거나 추측해야합니다. 당신은 이름을 고려하고 있습니까?

기본 제공 CSV cmdlet을 사용하여 파일 결과를 구문 분석 할 수 있습니다. 예:

$DataSet = '
ABCD;"1234;#ABC travels";"48;#outdated";"157;#Rajukumar";"1246;#Raju";"1534;#England"
AFGV;"2678;#CDF travels";"26;#sourcedata";"24;#Johnson";"2323;#Kumar";"1298;#Japan"
xyza;"45324;#KHR travels";"324;#conducteddate";"136;#Peter";"231;#Helen";"1212;#USA"
MNGR;"11225;#XYZ travels";"368;#mangeddated";"157;#Helen";"1246;#Johnson";"3567;#AUS"
' 
$DataSet -replace '#|"' | 
ConvertFrom-Csv -Delimiter ';' -Header H1,H2,H3,H4,H5,H6,H7,H8,H9,H10 | 
Format-Table -AutoSize

# Results

H1   H2    H3          H4  H5            H6  H7        H8   H9      H10 
--   --    --          --  --            --  --        --   --      --- 
ABCD 1234  ABC travels 48  outdated      157 Rajukumar 1246 Raju    1534
AFGV 2678  CDF travels 26  sourcedata    24  Johnson   2323 Kumar   1298
xyza 45324 KHR travels 324 conducteddate 136 Peter     231  Helen   1212
MNGR 11225 XYZ travels 368 mangeddated   157 Helen     1246 Johnson 3567

특정 열을 식별하기 위해 헤더를 넣었습니다. 그런 다음 출력하려는 ​​것을 체리 선택할 수 있습니다.

줄 바꿈을 수동으로 제거 했으므로 출력 항목이 아니거나 코드를 처리해야하므로 코드를 변경해야합니다.

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