|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista » 7 / 2008 R2 - [решено] Изменение месторасположения пользовательских папок |
|
|
7 / 2008 R2 - [решено] Изменение месторасположения пользовательских папок
|
Alien Сообщения: 4262 |
Пытаюсь автоматизировать этот процесс, сменить месторасположение вот этих папок (показано содержимое папки %UserName%, отображение на Рабочем столе которой включается в персонализации). Если зайти в свойство из одной этих папок, то на вкладке Месторасположение можно осуществить эту задачу, но мне надо сделать это автоматически.
Что я делаю. Батником перемещаю все эти (обведены красным) папки из "С:\Users\Leha" в "D:\User", в реестре: HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders Как корректно сменить их расположение автоматически, чтобы при этом в свойствах папок не потерялся стандартный механизм смены месторасположения и при этом остались рабочие линки на эти папки в папке %UserName% (что на Рабочем столе)? И поясните, плиз, что из себя представляют эти папки, что на моем скрине (обведены красным), это какие-то виртуальные папки (не симлинки точно)? Опять же хотелось бы знать, как создавать такие "папки" на реальные каталоги, автоматически, разумеется. |
|
Отправлено: 16:52, 02-02-2016 |
Alien Сообщения: 4262
|
Профиль | Отправить PM | Цитировать Не ожидал, что не будет ответа/решения на данный вопрос, вроде же простую процедуру пытаюсь выполнить. Или меня никто не понял? Тогда как еще понятнее расписать.
|
Отправлено: 12:27, 06-02-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1861
|
Профиль | Отправить PM | Цитировать У TeraByte Unlimited есть скрипт moveuser.tbs, может это то что тебе нужно:
Цитата:
|
|
Отправлено: 15:28, 07-02-2016 | #3 |
Alien Сообщения: 4262
|
Профиль | Отправить PM | Цитировать Я немного тупанул, сам не знаю, почему сразу так не сделал. Метод описанный выше работает, только делать это надо при выгруженном explorer.exe, тогда не будет той проблемы, о которой я выше говорил. Ну и обязательно, указывая путь в реестре, этот путь уже должен существовать, на момент запуска explorer.exe, и пользовательская папка, которую мы переносили, не должна оставаться по старому пути, иначе будут дубли в папке %UserName% (на Рабочем столе). Пишу скрипт, чтобы полностью автоматизировать сей процесс, позже выложу, может кому-то еще пригодится.
И еще вопрос. Существует ли метод "мягкой" перезагрузки/обновления оболочки/шела/экплорера, то есть без выгрузки/загрузки процесса explorer.exe (W7)? Что-то вроде того, как происходит обновление ассоциаций, но этого может быть недостаточно для моей задачи. Ведь проводник это умеет делать, хотелось бы знать, возможно ли это осуществить в командой строке (автоматически). |
Отправлено: 12:20, 08-02-2016 | #4 |
Alien Сообщения: 4262
|
Профиль | Отправить PM | Цитировать Существует ли возможность изменить путь "Личной папки" (%UserName%), что на Рабочем столе (вкл. в Персонализации), путь которой ведет в корень "%SystemDrive%\Users\%UserName%", то есть чтобы "Личная папка" открывала содержимой другой папки?
|
|
Отправлено: 17:20, 10-02-2016 | #5 |
![]() Ветеран Сообщения: 2199
|
Профиль | Отправить PM | Цитировать Цитата boss911:
Цитата boss911:
![]() |
||
------- Отправлено: 21:36, 11-02-2016 | #6 |
Ветеран Сообщения: 787
|
Профиль | Отправить PM | Цитировать boss911, возможно здесь то, что вам нужно. Если я правильно понял задачу.
|
------- Отправлено: 13:58, 12-02-2016 | #7 |
Alien Сообщения: 4262
|
Профиль | Отправить PM | Цитировать popt2t
Нет, это совсем не то, подобной информации/мануала в сети много. Это перенос ВСЕЙ профильной папки пользователя, что мне совсем не нужно, хотя и решило бы мой вопрос, но совсем не так, как мне надо. Мне нужно всего лишь поменять путь, который открывает "Личная папка" (%UserName%), сама эта папка как бы не совсем папка, а некий ярлык. |
Отправлено: 17:05, 12-02-2016 | #8 |
Alien Сообщения: 4262
|
Профиль | Отправить PM | Цитировать Написал для себя скрипт (пакетный файл), автоматизирующий процесс переноса пользовательских папок в другое место, может кому-то понадобится.
В скрипте реализован метод выбора, можно перенести как одну, так и более одной папки (в Windows 7 их всего 11 штук). Чтобы перенести нужную нам папку, необходимо раскомментировать строку (убрать 'REM' в начале строки) и указать/прописать (после знака '=') предпочитаемый путь для переноса (пробелы и кириллица в пути поддерживаются). Все, что нам нужно редактировать/править в скрипте, выделено красным, остальной текст/код правим только в том случае, если понимаем, что делаем и обладаем необходимыми знаниями. Предусмотрен запуск скрипта с ключем /RunOnce, ключ подавляет запросы и сообщения в ходе работы скрипта, а так же перезагрузку explorer.exe (необходимо для применения изменений на рабочей ОС). Данный ключ специально реализован для автоматизации процесса, для запуска из RunOnce, на данном этапе пользователь уже существует, но explorer еще не запущен, скрипт тихо отработает до загрузки Рабочего стола. Скрипт тестировался на Windows 7, если MS ничего не поменяла в более новых ОС (не проверял), то и на них будет работать. UserShellFoldersMove.cmd
@Echo off TITLE User Shell Folders Move SETLOCAL EnableDelayedExpansion MODE CON COLS=65 LINES=14 CHCP 1251 1>nul ::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ REM SET "Desktop=D:\%UserName%\Desktop" REM SET "Favorites=D:\%UserName%\Favorites" REM SET "MyMusic=D:\%UserName%\Music" REM SET "MyPictures=D:\%UserName%\Pictures" REM SET "MyVideo=D:\%UserName%\Videos" REM SET "Personal=D:\%UserName%\Documents" REM SET "Downloads=D:\%UserName%\Downloads" REM SET "SavedGames=D:\%UserName%\Saved Games" REM SET "Contacts=D:\%UserName%\Contacts" REM SET "Searches=D:\%UserName%\Searches" REM SET "Links=D:\%UserName%\Links" ::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CHCP 866 1>nul FOR %%I IN (%*) DO IF /I "%%I"=="/RunOnce" SET RunOnce=Yes IF NOT "%RunOnce%"=="Yes" ( ECHO. & ECHO Do you agree to move user folders? ECHO. & PAUSE & CLS ) SET "ShellFolders=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" SET "UserShellFolders=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" IF NOT "%RunOnce%"=="Yes" (TASKKILL >nul /F /IM explorer.exe) IF DEFINED Desktop ( ECHO Go move "Desktop"... FOR /F "Tokens=2*" %%I IN ('REG QUERY "%ShellFolders%" /V "Desktop" 2^>nul ^| FIND "REG_SZ"') DO CALL SET SrcDesktop=%%J REM DEL >nul 2>&1 /Q /ASH "!SrcDesktop!\desktop.ini" MD 2>nul "%Desktop%" XCOPY >nul 2>&1 /E /V /C /I /Q /H /R /K /Y "!SrcDesktop!" "%Desktop%" IF NOT ERRORLEVEL 4 RD >nul 2>&1 /S /Q "!SrcDesktop!" ) IF DEFINED Favorites ( ECHO Go move "Favorites"... FOR /F "Tokens=2*" %%I IN ('REG QUERY "%ShellFolders%" /V "Favorites" 2^>nul ^| FIND "REG_SZ"') DO CALL SET SrcFavorites=%%J REM DEL >nul 2>&1 /Q /ASH "!SrcFavorites!\desktop.ini" MD 2>nul "%Favorites%" XCOPY >nul 2>&1 /E /V /C /I /Q /H /R /K /Y "!SrcFavorites!" "%Favorites%" IF NOT ERRORLEVEL 4 RD >nul 2>&1 /S /Q "!SrcFavorites!" ) IF DEFINED MyMusic ( ECHO Go move "Music"... FOR /F "Tokens=3*" %%I IN ('REG QUERY "%ShellFolders%" /V "My Music" 2^>nul ^| FIND "REG_SZ"') DO CALL SET SrcMyMusic=%%J REM DEL >nul 2>&1 /Q /ASH "!SrcMyMusic!\desktop.ini" MD 2>nul "%MyMusic%" XCOPY >nul 2>&1 /E /V /C /I /Q /H /R /K /Y "!SrcMyMusic!" "%MyMusic%" IF NOT ERRORLEVEL 4 RD >nul 2>&1 /S /Q "!SrcMyMusic!" ) IF DEFINED MyPictures ( ECHO Go move "Pictures"... FOR /F "Tokens=3*" %%I IN ('REG QUERY "%ShellFolders%" /V "My Pictures" 2^>nul ^| FIND "REG_SZ"') DO CALL SET SrcMyPictures=%%J REM DEL >nul 2>&1 /Q /ASH "!SrcMyPictures!\desktop.ini" MD 2>nul "%MyPictures%" XCOPY >nul 2>&1 /E /V /C /I /Q /H /R /K /Y "!SrcMyPictures!" "%MyPictures%" IF NOT ERRORLEVEL 4 RD >nul 2>&1 /S /Q "!SrcMyPictures!" ) IF DEFINED MyVideo ( ECHO Go move "Videos"... FOR /F "Tokens=3*" %%I IN ('REG QUERY "%ShellFolders%" /V "My Video" 2^>nul ^| FIND "REG_SZ"') DO CALL SET SrcMyVideo=%%J REM DEL >nul 2>&1 /Q /ASH "!SrcMyVideo!\desktop.ini" MD 2>nul "%MyVideo%" XCOPY >nul 2>&1 /E /V /C /I /Q /H /R /K /Y "!SrcMyVideo!" "%MyVideo%" IF NOT ERRORLEVEL 4 RD >nul 2>&1 /S /Q "!SrcMyVideo!" ) IF DEFINED Personal ( ECHO Go move "Documents"... FOR /F "Tokens=2*" %%I IN ('REG QUERY "%ShellFolders%" /V "Personal" 2^>nul ^| FIND "REG_SZ"') DO CALL SET SrcPersonal=%%J REM DEL >nul 2>&1 /Q /ASH "!SrcPersonal!\desktop.ini" MD 2>nul "%Personal%" XCOPY >nul 2>&1 /E /V /C /I /Q /H /R /K /Y "!SrcPersonal!" "%Personal%" IF NOT ERRORLEVEL 4 RD >nul 2>&1 /S /Q "!SrcPersonal!" ) IF DEFINED Downloads ( ECHO Go move "Downloads"... FOR /F "Tokens=2*" %%I IN ('REG QUERY "%ShellFolders%" /V "{374DE290-123F-4565-9164-39C4925E467B}" 2^>nul ^| FIND "REG_SZ"') DO CALL SET SrcDownloads=%%J REM DEL >nul 2>&1 /Q /ASH "!SrcDownloads!\desktop.ini" MD 2>nul "%Downloads%" XCOPY >nul 2>&1 /E /V /C /I /Q /H /R /K /Y "!SrcDownloads!" "%Downloads%" IF NOT ERRORLEVEL 4 RD >nul 2>&1 /S /Q "!SrcDownloads!" ) IF DEFINED SavedGames ( ECHO Go move "Saved Games"... FOR /F "Tokens=2*" %%I IN ('REG QUERY "%ShellFolders%" /V "{4C5C32FF-BB9D-43B0-B5B4-2D72E54EAAA4}" 2^>nul ^| FIND "REG_SZ"') DO CALL SET SrcSavedGames=%%J REM DEL >nul 2>&1 /Q /ASH "!SrcSavedGames!\desktop.ini" MD 2>nul "%SavedGames%" XCOPY >nul 2>&1 /E /V /C /I /Q /H /R /K /Y "!SrcSavedGames!" "%SavedGames%" IF NOT ERRORLEVEL 4 RD >nul 2>&1 /S /Q "!SrcSavedGames!" ) IF DEFINED Contacts ( ECHO Go move "Contacts"... FOR /F "Tokens=2*" %%I IN ('REG QUERY "%ShellFolders%" /V "{56784854-C6CB-462B-8169-88E350ACB882}" 2^>nul ^| FIND "REG_SZ"') DO CALL SET SrcContacts=%%J REM DEL >nul 2>&1 /Q /ASH "!SrcContacts!\desktop.ini" MD 2>nul "%Contacts%" XCOPY >nul 2>&1 /E /V /C /I /Q /H /R /K /Y "!SrcContacts!" "%Contacts%" IF NOT ERRORLEVEL 4 RD >nul 2>&1 /S /Q "!SrcContacts!" ) IF DEFINED Searches ( ECHO Go move "Searches"... FOR /F "Tokens=2*" %%I IN ('REG QUERY "%ShellFolders%" /V "{7D1D3A04-DEBB-4115-95CF-2F29DA2920DA}" 2^>nul ^| FIND "REG_SZ"') DO CALL SET SrcSearches=%%J REM DEL >nul 2>&1 /Q /ASH "!SrcSearches!\desktop.ini" MD 2>nul "%Searches%" XCOPY >nul 2>&1 /E /V /C /I /H /R /K /Y "!SrcSearches!" "%Searches%" IF NOT ERRORLEVEL 4 RD >nul 2>&1 /S /Q "!SrcSearches!" ) IF DEFINED Links ( ECHO Go move "Links"... FOR /F "Tokens=3" %%I IN ('REG QUERY "%ShellFolders%" /V "{BFB9D5E0-C6A9-404C-B2B2-AE6DB6AF4968}" 2^>nul ^| FIND "REG_SZ"') DO CALL SET SrcLinks=%%I REM DEL >nul 2>&1 /Q /ASH "!SrcLinks!\desktop.ini" MD 2>nul "%Links%" XCOPY >nul 2>&1 /E /V /C /I /H /R /K /Y "!SrcLinks!" "%Links%" IF NOT ERRORLEVEL 4 RD >nul 2>&1 /S /Q "!SrcLinks!" ) FOR %%I IN ("%ShellFolders%" "%UserShellFolders%") DO ( IF %%I=="%ShellFolders%" (SET TYPE=REG_SZ) ELSE (SET TYPE=REG_EXPAND_SZ) IF DEFINED Desktop REG >nul 2>&1 ADD %%I /F /V "Desktop" /T !TYPE! /D "%Desktop%" IF DEFINED Favorites REG >nul 2>&1 ADD %%I /F /V "Favorites" /T !TYPE! /D "%Favorites%" IF DEFINED MyMusic REG >nul 2>&1 ADD %%I /F /V "My Music" /T !TYPE! /D "%MyMusic%" IF DEFINED MyPictures REG >nul 2>&1 ADD %%I /F /V "My Pictures" /T !TYPE! /D "%MyPictures%" IF DEFINED MyVideo REG >nul 2>&1 ADD %%I /F /V "My Video" /T !TYPE! /D "%MyVideo%" IF DEFINED Personal REG >nul 2>&1 ADD %%I /F /V "Personal" /T !TYPE! /D "%Personal%" IF DEFINED Downloads REG >nul 2>&1 ADD %%I /F /V "{374DE290-123F-4565-9164-39C4925E467B}" /T !TYPE! /D "%Downloads%" IF DEFINED SavedGames REG >nul 2>&1 ADD %%I /F /V "{4C5C32FF-BB9D-43B0-B5B4-2D72E54EAAA4}" /T !TYPE! /D "%SavedGames%" IF DEFINED Contacts REG >nul 2>&1 ADD %%I /F /V "{56784854-C6CB-462B-8169-88E350ACB882}" /T !TYPE! /D "%Contacts%" IF DEFINED Searches REG >nul 2>&1 ADD %%I /F /V "{7D1D3A04-DEBB-4115-95CF-2F29DA2920DA}" /T !TYPE! /D "%Searches%" IF DEFINED Links REG >nul 2>&1 ADD %%I /F /V "{BFB9D5E0-C6A9-404C-B2B2-AE6DB6AF4968}" /T !TYPE! /D "%Links%" ) IF NOT "%RunOnce%"=="Yes" ( START explorer.exe ECHO. & PAUSE ) EXIT |
Последний раз редактировалось boss911, 01-12-2018 в 02:30. Причина: ключ /RunOnce Отправлено: 09:30, 16-02-2016 | #9 |
Пользователь Сообщения: 107
|
Профиль | Отправить PM | Цитировать Делал подобный скрипт для своей работы. Мой вариант проще:
@ECHO OFF TITLE User data transfer XCOPY %USERPROFILE%\Desktop D:\Desktop /S /I /Q /H /K /O /Y XCOPY %USERPROFILE%\Documents D:\Documents /S /I /Q /H /K /O /Y XCOPY %USERPROFILE%\Downloads D:\Downloads /S /I /Q /H /K /O /Y XCOPY %USERPROFILE%\Music D:\Music /S /I /Q /H /K /O /Y XCOPY %USERPROFILE%\Pictures D:\Pictures /S /I /Q /H /K /O /Y XCOPY %USERPROFILE%\Videos D:\Videos /S /I /Q /H /K /O /Y MD D:\Desktop MD D:\Documents MD D:\Downloads MD D:\Music MD D:\Pictures MD D:\Videos REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Desktop /t REG_SZ /d D:\Desktop /f 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\Shell Folders" /v {374DE290-123F-4565-9164-39C4925E467B} /t REG_SZ /d D:\Downloads /f REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Music" /t REG_SZ /d D:\Music /f REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Pictures" /t REG_SZ /d D:\Pictures /f REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Video" /t REG_SZ /d D:\Videos /f REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop /t REG_EXPAND_SZ /d D:\Desktop /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 {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 "My Music" /t REG_EXPAND_SZ /d D:\Music /f REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "My Pictures" /t REG_EXPAND_SZ /d D:\Pictures /f REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "My Video" /t REG_EXPAND_SZ /d D:\Videos /f RD /S /Q %USERPROFILE%\Desktop RD /S /Q %USERPROFILE%\Documents RD /S /Q %USERPROFILE%\Downloads RD /S /Q %USERPROFILE%\Music RD /S /Q %USERPROFILE%\Pictures RD /S /Q %USERPROFILE%\Videos PAUSE |
Отправлено: 17:37, 30-10-2017 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интерфейс - Перемещение пользовательских папок | PhantomLo | Microsoft Windows 7 | 59 | 11-01-2015 16:25 | |
Разное - Две папки "Документы" (дублирование пользовательских папок в домене) | shefford | Microsoft Windows 7 | 0 | 02-03-2011 14:42 | |
C:\Documents and Settings\All Users - изменение месторасположения | TERMINAL | Автоматическая установка Windows 2000/XP/2003 | 3 | 18-02-2010 20:07 | |
Интерфейс - Параметры Desktop.ini для пользовательских папок | konstantinych | Microsoft Windows 2000/XP | 6 | 25-01-2010 14:10 | |
Доступ - Запрет на изменение папок? | ControlOfChaos | Хочу все знать | 2 | 05-11-2007 20:06 |
|