Skip to content

Instantly share code, notes, and snippets.

@avoidik
Created October 20, 2022 06:34
Show Gist options
  • Select an option

  • Save avoidik/f47099fef11db6624129f829a7fcc5dc to your computer and use it in GitHub Desktop.

Select an option

Save avoidik/f47099fef11db6624129f829a7fcc5dc to your computer and use it in GitHub Desktop.
Change Windows known shell folders

List all

$knownFolders = Get-Item 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders'
foreach ($folder in $knownFolders) {
    $props = Get-ItemProperty $folder.PSPath
    foreach ($p in $props.PSObject.Properties) {
        Write-Host "$($p.Name) = $($p.Value)"
    }
}

Replace all based on a condition

$knownFolders = Get-Item 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders'
foreach ($folder in $knownFolders) {
    $props = Get-ItemProperty $folder.PSPath
    foreach ($p in $props.PSObject.Properties) {
        if ($p.Value -like "C:\Users\Administrator\*") {
            $newValue = $($p.Value).Replace('C:\Users\Administrator\', 'X:\Data\Administrator\')
            Set-ItemProperty -Path $props.PSPath -Name $p.Name -Value $newValue
            # Get-ItemProperty -Path $props.PSPath -Name $p.Name
        }
    }
}

Note: this is highly not recommended approach, there is only one valid approach - sysprep

@avoidik
Copy link
Author

avoidik commented Oct 18, 2025

move data temporarily out of the Documents and Downloads directories, because rd is a destructive operation

@echo off

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Personal" /t REG_SZ /d "D:\Documents" /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Personal" /t REG_EXPAND_SZ /d "D:\Documents" /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "{F42EE2D3-909F-4907-8871-4C22FC0BF756}" /t REG_EXPAND_SZ /d "D:\Documents" /f

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "{374DE290-123F-4565-9164-39C4925E467B}" /t REG_SZ /d "D:\Downloads" /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "{374DE290-123F-4565-9164-39C4925E467B}" /t REG_EXPAND_SZ /d "D:\Downloads" /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "{7D83EE9B-2244-4E70-B1F5-5393042AF1E4}" /t REG_EXPAND_SZ /d "D:\Downloads" /f

rd "%USERPROFILE%\Documents" /s /q
mklink /d "%USERPROFILE%\Documents" "D:\Documents"

rd "%USERPROFILE%\Downloads" /s /q
mklink /d "%USERPROFILE%\Downloads" "D:\Downloads"

taskkill /im explorer.exe /f & explorer.exe

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment