Подменяем папки пользователя в Windows
Удивительно, но немногие знают, что стандартные переменные среды в «винде» можно переопределить для отдельной программы. Сделать это можно, например, вот таким файлом:
@echo off && %~d0 && cd %~dp0 rem Имя *.exe файла программы set app=chrome.exe rem Папка с профилем set folder=profile md "%folder%\AppData\Local\Temp" md "%folder%\AppData\Roaming" set ALLUSERSPROFILE=%~dp0%folder% set APPDATA=%~dp0%folder%\AppData\Roaming set HOMEDRIVE=%~d0 set HOMEPATH=%~p0%folder% set LOCALAPPDATA=%~dp0%folder%\AppData\Local set TEMP=%~dp0%folder%\AppData\Local\Temp set TMP=%~dp0%folder%\AppData\Local\Temp set USERNAME=%folder% set USERPROFILE=%~dp0%folder% start %app%
Здесь у нас переопределяются пути пользователя. Вместо chrome.exe
подставляем название своей программы, вместо profile
пишем название папки, в которую будут сохранятся данные пользователя, сохраняем с расширением cmd
или bat
, кладём к программе и запускаем.
Зачем это можно использовать:
- Сделать из любого софта portable-версию — все настройки будут сохранятся в папке рядом с исполняемым файлом.
- Помочь программам, которые не могут ничего сохранить из-за русского имени папки пользователя — поменять путь так, что в нём будут только английский алфавит.
Комментарии
Какое-то время пользовался подобным батником для запуска двух версий программы Google Диск. Но с очередным обновлением Windows 10 вторая версия программы перестала запускаться. В диспетчере задач появляются дополнительные процессы, но тут же пропадают.
Подскажите, пожалуйста, как можно возобновить работу нескольких версий программы Google Диск одновременно в одной сессии Windows.
Спасибо!