So I learned me some cmd scripting and here is what I came up with:
SET target="M:\TEST"
SET filter="Personal"
forfiles /s /m %filter% /c "cmd /c IF @isdir==TRUE mkdir %target%\@relpath"
forfiles /s /m %filter% /c "cmd /c IF @isdir==TRUE rmdir %target%\@relpath"
forfiles /s /m %filter% /c "cmd /c IF @isdir==TRUE mklink /D %target%\@relpath %cd%\@relpath"
That will look for all folders called "Personal" in the current directory and make symlinks in the target directory. I had to do some trickery in order to preserve folder structure. (It didn't want to create symlinks in locations that didn't exist yet.)
It may be convoluted but so are the programs I am trying to manage (FL Studio in this case).
UPDATE
That code ran into problems when there were spaces in the paths. Many hours of madness later, here is what seems to work. Yes there are lots of quotes.
SET target=C:\Program Files\Path With Spaces
SET filter=Personal
forfiles /s /m %filter% /c "cmd /c IF @isdir==TRUE mkdir """%target%"""\@relpath"
forfiles /s /m %filter% /c "cmd /c IF @isdir==TRUE rmdir """%target%"""\@relpath"
forfiles /s /m %filter% /c "cmd /c IF @isdir==TRUE mklink /D """%target%"""\@relpath """%cd%"""\@relpath"