Как обратиться к папкам текущего пользователя, учитывая, что они могут быть перемещены на другой диск?
Информация о новом расположении перемещенных папок профиля хранится в реестре Windows. Конкретнее, путь к перемещенным папкам профиля можно найти в следующем разделе реестра: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders. Чтобы обратиться к папкам текущего пользователя, учитывая их возможное перемещение на другой диск, вам нужно использовать переменные среды Windows. Например, для доступа к папке "Мои документы" можно воспользоваться переменной %USERPROFILE%, которая указывает на директорию профиля текущего пользователя, включая новое расположение папок. Еще одна полезная переменная среды - %HOMEDRIVE%, которая указывает на диск, на котором расположена домашняя директория пользователя. Таким образом, пути к папкам пользователя можно сконструировать, используя эти переменные среды, чтобы обеспечить доступ к ним вне зависимости от их фактического расположения.
set в cmd
ну или сюда https://learn.microsoft.com/en-us/powershell/modul...
Вообще по пользователям в реестре: \HKLME\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
Если нужен только текущий пользователь, то переменная окружения%USERPROFILE%
Пользовательский профиль можно переместить весь, тогда изменения будут в USERPROFILE и в реестре.
Но можно переносить и отдельные папки профиля в другое место. Тут уже не знаю точно как винда это хранит. Из возможных вариантов:
1. где-то в пользовательском реестре лежит новый путь
2. вместо стандартного каталога записывается ссылка на новое место
в реестре хранитHKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
Перемещенные папки пользовательских профилей, как правило, хранятся централизованно на каком-то сетевом диске - попробуйте бэкапить этот сетевой диск...
Или задача несколько другая и тут впору использовать теневые копии?