Onedrive: how to rename folders to remove # from folder name

Microsoft Onedrive won't synch any folders or files that contain a "#" in the name.

So you have to rename folders to remove the # in the name. If you have a lot of folders, that is a real pane.

This vbscript will systematically remove the # from all folders under your OneDrive primary folder location:

BEGIN SCRIPT:

Set fso = CreateObject("Scripting.FileSystemObject")

Set folder=fso.GetFolder("C:\Users\mkplumbing\OneDrive - MK Plumbing Company, Inc\Shared with Everyone")

'Subfolder level 1

For Each Subfolder in Folder.SubFolders

Set folder2=fso.GetFolder(Subfolder)

For Each Subfolder2 in Folder2.SubFolders

pos = InStr(folder2.Name, "#")

if pos >0 then

FSo.MoveFolder subfolder2, replace(subfolder2,"#","")

end if

Next

Next

'Subfolder level 2

For Each Subfolder in Folder.SubFolders

Set folder2=fso.GetFolder(Subfolder)

For Each Subfolder2 in Folder2.SubFolders

Set folder3=fso.GetFolder(Subfolder2)

For Each Subfolder3 in Folder3.SubFolders

pos = InStr(folder3.Name, "#")

if pos>0 then

FSo.MoveFolder subfolder3, replace(subfolder3,"#","")

end if

Next

Next

Next

'Subfolder level 3

For Each Subfolder in Folder.SubFolders

Set folder2=fso.GetFolder(Subfolder)

For Each Subfolder2 in Folder2.SubFolders

Set folder3=fso.GetFolder(Subfolder2)

For Each Subfolder3 in Folder3.SubFolders

Set folder4=fso.GetFolder(Subfolder3)

For Each Subfolder4 in Folder4.SubFolders

pos = InStr(folder4.Name, "#")

if pos>0 then

FSo.MoveFolder subfolder4, replace(subfolder4,"#","")

end if

Next

Next

Next

Next

'Subfolder level 4

For Each Subfolder in Folder.SubFolders

Set folder2=fso.GetFolder(Subfolder)

For Each Subfolder2 in Folder2.SubFolders

Set folder3=fso.GetFolder(Subfolder2)

For Each Subfolder3 in Folder3.SubFolders

Set folder4=fso.GetFolder(Subfolder3)

For Each Subfolder4 in Folder4.SubFolders

Set folder5=fso.GetFolder(Subfolder4)

For Each Subfolder5 in Folder5.SubFolders

pos = InStr(folder5.Name, "#")

if pos>0 then

FSo.MoveFolder subfolder5, replace(subfolder5,"#","")

end if

Next

Next

Next

Next

Next

'Subfolder level 5

For Each Subfolder in Folder.SubFolders

Set folder2=fso.GetFolder(Subfolder)

For Each Subfolder2 in Folder2.SubFolders

Set folder3=fso.GetFolder(Subfolder2)

For Each Subfolder3 in Folder3.SubFolders

Set folder4=fso.GetFolder(Subfolder3)

For Each Subfolder4 in Folder4.SubFolders

Set folder5=fso.GetFolder(Subfolder4)

For Each Subfolder5 in Folder5.SubFolders

Set folder6=fso.GetFolder(Subfolder5)

For each subfolder6 in FOlder6.subfolders

pos = InStr(folder6.Name, "#")

if pos>0 then

FSo.MoveFolder subfolder6, replace(subfolder6,"#","")

end if

Next

Next

Next

Next

Next

Next

msgbox "done"