<# Search for all .xml files in folder convert the files in CSV format #> $strParentPath = Split-Path -parent $MyInvocation.MyCommand.Definition foreach($file in Get-ChildItem $strParentPath | Where { $_.Extension -eq ".xml"}) { $strOutputPath = [string]::Concat($strParentPath, "\" + $file.BaseName + ".csv") Out-file $strOutputPath -Encoding utf8 -Force write "Tiefe;Pfad;Recht;trustee" | Out-File $strOutputPath -Append utf8 $strInputPath = [string]::Concat($strParentPath, "\" + $file.Name) $doc = [XML] (get-content -path $strInputPath ) $paths = $doc.volume_trustees.trustee foreach ($path in $paths) { $strPattern = "\." $strPatternCN = "[\w]{1,}" $strName1 = $path.name.ToString() $arrResult = ([regex]::matches($strName1, $strPatternCN) | %{$_.value}) $strPath = [string] $path.path.ToString() $strPath = $strPath -replace "/", "\" $arrFields = $strPath.split('\') $strCount = $arrFields.count -1 $strRight = $path.rights.ToString() write "$strCount;$strPath;$strRight;$strName1" | Out-File $strOutputPath -Append default } }