Jason Giordano shares a script to help sort information collected by the SharePoint Migration Tool by website and folder.
The SharePoint Migration Tool is a helpful resource to migrate content from SharePoint on-premises to the cloud. The SharePoint Migration Tool generates log files, summary and task level reports to help you manage, audit and troubleshoot your migration process.
In some cases, reports generated by the SPMT can be difficult to work with because they are not sorted by website– especially if you need to spread out the work and ownership across teams. This is a simple script that transforms SPMT reports into folders, broken out by website so people working on specific pages can easily see which action items pertain to them.
Below is a simple VBScript (in most cases, you can save this as a .vbs file and execute it from Explorer).
Const sInputFolder = "C:\Input\" Const sOutputFolder = "C:\Output\" Const iForReading = 1 Const iForAppending = 8   MsgBox("Started") Set fso = CreateObject("Scripting.FileSystemObject") Set oSourceFolder = fso.GetFolder(sInputFolder) Set oSourceFiles = oSourceFolder.Files For Each oFile in oSourceFiles             Set oInputFile = oFile.OpenAsTextStream(iForReading)         sHeaders = oInputFile.ReadLine         arrSplitHeaders = Split(sHeaders, ",")         If arrSplitHeaders(1)="SiteUrl" Then                 Do While Not oInputFile.AtEndOfStream                        sCurrentLine = oInputFile.ReadLine                        arrSplitStrings = Split(sCurrentLine, ",")                        iTotal = UBound(arrSplitStrings, 1)                        If iTotal > 1 Then                               sSiteURL = Replace(arrSplitStrings(1),"/","-")                               sSiteURL = Replace(sSiteURL,"?","-")                               sSiteURL = Replace(sSiteURL,"=","-")                               sSiteURL = Replace(sSiteURL,":","")                               sSiteURL = Replace(sSiteURL," ","")                               sSiteURL = Replace(sSiteURL,"""","")                               If Len(sSiteURL) > 5 and Left(sSiteURL, 5) = "https" Then                                      If NOT(fso.FolderExists (sOutputFolder & sSiteURL)) Then fso.CreateFolder(sOutputFolder & sSiteURL)                                      If NOT(fso.FileExists (sOutputFolder & sSiteURL & "/" & oFile.Name)) Then                                             Set oOutputFile = fso.CreateTextFile(sOutputFolder & sSiteURL & "/" & oFile.Name)                                             oOutputFile.WriteLine sHeaders                                      Else                                             Set oOutputFile = fso.OpenTextFile(sOutputFolder & sSiteURL & "/" & oFile.Name, iForAppending)                                      End If                                      oOutputFile.WriteLine sCurrentLine                               End If                        End If                        oOutputFile.Close                 Loop         End If         oInputFile.Close Next MsgBox("Finished")
0 comments