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