PowerShell One Liner: Duplicating a folder structure in a Sharepoint document library

Posted by Darren Gosbell on Geeks with Blogs See other posts from Geeks with Blogs or by Darren Gosbell
Published on Mon, 24 May 2010 06:33:07 GMT Indexed on 2010/05/24 7:51 UTC
Read the original article Hit count: 391

Filed under:

I was asked by someone at work the other day, if it was possible in Sharepoint to create a set of top level folders in one document library based on the set of folders in another library. One document library has a set of top level folders that is basically a client list and we needed to create the same top level folders in another library.

I knew that it was possible to open a Sharepoint document library in explorer using a UNC style path and that you could map a drive using a technique like this one: http://www.endusersharepoint.com/2007/11/16/can-i-map-a-document-library-as-a-mapped-drive/. But while explorer would let us copy the folders, it would also take all of the folder contents too, which was not what we wanted.

So I figured that some sort of PowerShell script was probably the way to go and it turned out to be even easier than I thought. The following script did it in one line, so I thought I would post it here in my "online memory". :)

dir "\\sharepoint\client documents" | where {$_.PSIsContainer} | % {mkdir "\\sharepoint\admin documents\$($_.Name)"}

I use "dir" to get a listing from the source folder, pipe it through "where" to get only objects that are folders and then do a foreach (using the % alias) and call "mkdir".

© Geeks with Blogs or respective owner