Get List Items In A Tree View

Create a ps1 extension file and save it in your local path.

Change the highlighted part with your site collection URL, List name etc. 

  1. <ol>  
  2. <li>Create a ps1 extension file and save it in your local path.</li>  
  3. </ol>  
  4. <p>Change the highlighted part with your site collection url, List name etc.</p>  
  5. <p>#============================================================</p>  
  6. <p># Function Get-FolderItems is a recursive function that will</p>  
  7. <p># get all items from a list and print it out like a Treeview</p>  
  8. <p>#============================================================</p>  
  9. <p>function Get-FolderItems([Microsoft.SharePoint.SPFolder]$folder, $level) {</p>  
  10. <p>#The following code is to simulate the treeview in the printout. It if for visual purposes only</p>  
  11. <p>if($level -eq $null) {</p>  
  12. <p>$level=0</p>  
  13. <p>}</p>  
  14. <p>$prestring = “”</p>  
  15. <p>for($x=0;$x -le $level;$x++) {</p>  
  16. <p>$prestring += “—”</p>  
  17. <p>}</p>  
  18. <p># Create query object</p>  
  19. <p>$query = New-Object Microsoft.SharePoint.SPQuery</p>  
  20. <p>$query.Folder = $folder</p>  
  21. <p># Get SPWeb object</p>  
  22. <p>$web = $folder.ParentWeb</p>  
  23. <p># Get SPList</p>  
  24. <p>$list = $web.Lists[$folder.ParentListId]</p>  
  25. <p># Get a collection of items in the specified $folder</p>  
  26. <p>$itemCollection = $list.GetItems($query)</p>  
  27. <p># If the folder is the root of the list, display information</p>  
  28. <p>if($folder.ParentListID -ne $folder.ParentFolder.ParentListID) {</p>  
  29. <p>Write-Host($folder.Name + ” [Root of the list with ” + $folder.ItemCount + ” item(s) in it]”)</p>  
  30. <p>}</p>  
  31. <p># Iterate through each item in the $folder – Note sub folders and list items are both considered items</p>  
  32. <p>foreach($item in $itemCollection) {</p>  
  33. <p># If the item is a folder</p>  
  34. <p>if($item.Folder -ne $null) {</p>  
  35. <p># Write the Subfolder information</p>  
  36. <p>Write-Host($prestring + “*” + $item.Name + ” [Folder Item | Parent Folder: ” + $folder.Name + ” | Contains ” + $folder.ItemCount + ” item(s)]”)</p>  
  37. <p># Call the Get-Items function recursively for the found sub-solder</p>  
  38. <p>Get-FolderItems $item.Folder ($level+1)</p>  
  39. <p>}</p>  
  40. <p># If the item is not a folder</p>  
  41. <p>if($item.Folder -eq $null) {</p>  
  42. <p># Write the item information</p>  
  43. <p>Write-Host($prestring + $item.Name + ” [Item | Parent Folder: ” + $folder.Name + “]”)</p>  
  44. <p>}</p>  
  45. <p>}</p>  
  46. <p>$web.dispose()</p>  
  47. <p>$web = $null</p>  
  48. <p>}</p>  
  49. <p>#============================================================</p>  
  50. <p># Function Get-Folder will return a SPFolder object based on</p>  
  51. <p># $webUrl string and a $listName string</p>  
  52. <p>#============================================================</p>  
  53. <p>function Get-Folder([string]$webUrl,[string]$listName) {</p>  
  54. <p># Use the Get-SPWeb CMDLET – it gives you the SPWeb object without having to create the SPSite object</p>  
  55. <p>$web = Get-SPWeb $stringUrl</p>  
  56. <p># Get your SPList</p>  
  57. <p>$list = $web.Lists[$stringListName]</p>  
  58. <p># Get the root folder containing items in your list</p>  
  59. <p>$folder = $list.RootFolder</p>  
  60. <p>$web.Dispose()</p>  
  61. <p>$web = $null</p>  
  62. <p>return ,$folder</p>  
  63. <p>}</p>  
  64. <p>#============================================================</p>  
  65. <p># Main procedural code</p>  
  66. <p>#============================================================</p>  
  67. <p>$stringUrl = “http://hvsp01/sites/HRMS”</p>  
  68. <p>$stringListName = “Calander”</p>  
  69. <p># Get the root folder for the List</p>  
  70. <p>$folder = Get-Folder $stringUrl $stringListName</p>  
  71. <p># Call the recursive Get-FolderItems function passing the root of your list. It will call itself again and again until it has gone through your entire structure</p>  
  72. <p>Get-FolderItems $folder2. Open Management Shell as an administrator.</p>  
  73. <ol start="3">  
  74. <li>Run the PS script using the path along with the file as shown.</li>  
  75. </ol>  
  76. <ol start="4">  
  77. <li>Here is the required output.</li>  
  78. </ol>  
  79. <p>Use <a href="http://htmlcheatsheet.com/" target="_blank" rel="nofollow">the HTML Cheat Sheet</a> for color picker, search for special HTML characters, get examples of the most common tags and generate any tags.</p>   

Get-FolderItems $folder2. Open Management Shell as an administrator.

Run PS script, using the path along with the file, as shown below.

SharePoint
Here, the required output is given below.

SharePoint
Ebook Download
View all
Learn
View all