UserDataRelocator - перенос пользовательских данных. Зачем делается перенос профилей? Это идеология Windows, все на одном разделе, пользовательские данные и сама система свалены в кучу, для разбора этих данных используются библиотеки, о реальном местонахождении данных, с точки зрения мелкософт, пользователь знать не должен, мелкософт все решит за него сам. Такой подход создает довольно серьезные проблемы - в случае краха системы, приходится разбирать эту мусорную кучу, чтобы сохранить свои данные, а это не очень приятная работа, бэкап системы становится бессмысленным. Для решения этой проблемы можно перенести профили пользователей на другой раздел, но такой подход имеет крупный недостаток - перенос профилей всех пользователей, тем более таких, как All Users (ProgramData), да и просто самого пользователя, делают бэкап системы бессмысленным, если не делать параллельно бэкап перенесенных профилей. К сожалению, в папке профиля такая же куча мусора, полный перенос папки профиля на другой диск перенесет так-же системные файлы, и сделает систему зависимой от перенесенного профиля, что и сделает бэкап системы бессмысленным. Но можно не переносить полностью профиль пользователя, а переместить только каталоги с пользовательскими данными (библиотеки), так сказать, Кесарю кесарево. В этом случае, даже при полном удалении перенесенной части профиля система останется работоспособной, систему можно бэкапить, восстанавливать, или переустанавливать, не боясь потери пользовательских данных. UserDataRelocator - набор утилит, позволяющаю переместить пользовательские данные из профиля пользователя на другой раздел. Пользоваться программой очень просто, отредактируйте при необходимости в блокноте файл MoveUserData.cfg, указав каталог нового профиля (по умолчанию - D:\User), закройте все запущенные приложения (а лучше перезагрузите систему) и выполните MoveUserData.cmd . С помощью UndoMoveUserData.cmd всегда можно откатиться к начальному состоянию. BackUpUserData.cmd - делает бэкат пользовательских данных, путь для сохранения в MoveUserData.cfg RestoreUserData.cmd - восстаналиват данные, сохраненные с помощью BackUpUserData.cmd Перезагрузки не требуется. Поддержка ком. строки MoveUserData.cmd [UserData] [NewUserData|BackUpUserData] [/UndoMoveUserData|/Backup|/Restore] [/Quiet] Если параметры не указаны, они будут взяты из MoveUserData.cfg Поддержки Windows XP нет, тестируется. Графическая оболочка от NeleGal-38
Последний раз редактировалось: nikzzzz (2019-04-20 22:39), всего редактировалось 26 раз(а)
55465Только такой вапрос: как проще можно сделать, чтоб перемещало профиль из Windows.old в текущий юзер?
В принципе делается простым копированием, можно написать батник. Но полностью переносить профиль крайне не рекомендую, можно сломать систему, в шапке написано, почему. В принципе, можно временно поправить MoveUserData.cfg, заменив в нем пути , например
Сделать бэкап, восстановить MoveUserData.cfg, и выполнить RestoreUserData под пользователем Вася Пупкин , но в общем утилита для этого не предназначена.
nikzzzz, а с этим глюком как быть? И почему он пытается создать папку назначения на С? O_O (Раньше эта папка хотя бы копировалась на D без связи и файлы можно было восстановить. А сейчас файлы уходят в никуда :( )
korsak7, Да, я посмотрел лог. Утилита почему-то не может полностью перенести данные, далее пытается восстановить перенесенную часть обратно и, почему-то не может. Попробуй поставить паузу
:MoveUserData if not exist "%~dpnx1" goto :eof call :CheckLink "%~dpnx1" && goto :eof call :GetAttrib "%~dpnx1" robocopy "%~dpnx1" "%~dpnx2" %rbcopt% pause if not exist "%~dpnx1" goto _3 ::Если не удалось, восстанавливаем robocopy "%~dpnx2" "%~dpnx1" %rbcopt% rd /s /q "%~dpnx2" echo.Error move %~dpnx1 goto :eof
Посмотри, существует ли C:\Users\Admin\Desktop\ , может он просто не успел удалиться при перемещении, проверка выполняется слишком рано.
добавил в новую версию UserData=%APPDATA%\Google\Chrome\User Data","%NewUserData%APPDATA%\Google\Chrome\User Data" в конце cfg и сейчас не работаeт для хрома.
_________________ Подпись отключена за нарушение правил форума
nikzzzz, UserDataRelocator_2018_07_22a.7z вставил - успевает удалиться, все переносится норм заменил паузу на таймер: 1 сек - не успевает 2 сек - успевает удалиться, все переносится норм 5 сек - успевает удалиться, все переносится норм UserDataRelocator_2018_07_22b.7z глюк не пропал к тому же появились глюки с перезапуском explorer
Для отмены перемещения файлом UndoMoveUserData.cmd, данные в конфиге править не нужно? Папки в пользователе ( C:\User\....) после перемещения содержат перемещённые файлы, так и должно быть? PS Спрашивают пользователи, не знаю как правильно объяснить ))
NeleGal-38, Конфиг один для всех операций, править не надо.
55500Папки в пользователе ( C:\User\....) после перемещения содержат перемещённые файлы, так и должно быть?
При перемещении папка перемещается, а на ее старом месте создается ссылка на перемещенную папку. Если зайти в C:\User\.... , там будут видны папки, с ними можно работать, но реально эти папки находятся да другом диске.
Последний раз редактировалось: nikzzzz (2018-07-22 16:20), всего редактировалось 1 раз
nikzzzz, Добавил UserData="%LOCALAPPDATA%\Google\Chrome\User Data","%NewUserData%\Chrome" и сейчас все работает нормально. И все таки возможно сделать скрипт переноса из Windows.old? Я не смогу справиться. Слишком трудно. Думаю ето будет полезно многим IT
_________________ Подпись отключена за нарушение правил форума
Explorer не перезапускается на win 10 когда скрипт выполняется из места которое будет переносится. Например у меня до этого были перенесены папки профиля на диск D:\. То есть я переносил в корень диска папки Рабочий стол и так далее(не сам профиль). отмена изменений работает(с диска D:\User все переносится обратно), только что проверил на той же 10 х64. папку со скриптом кинул в корень диска C:\ собственно оттуда и запускал. nikzzzz, У меня такой вопрос, скрипт не изменяет значения реестра? Например "Reg Add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Video" /t REG_SZ /d "D:\Videos" /f" он просто создает ярлыки перенесенных папок в папке с профилем которые ведут к новому месту прописки я правильно понимаю?
55494к тому же появились глюки с перезапуском explorer
А не мог-бы попробовать перед перезапуском explorer тоже поставить задержку секунд на пять?
UserDataRelocator_2018_07_22b.7z глючит вернулся на UserDataRelocator_2018_07_22a.7z - поствил таймеры
robocopy "%~dpnx1" "%~dpnx2" %rbcopt% ping -n 2 127.0.0.1 if not exist "%~dpnx1" goto _3 ::Если не удалось, восстанавливаем
::Перезапускаем Explorer ping -n 5 127.0.0.1 start explorer.exe
все работает отлично (раз 10 перезапускал), и к тому же исчез 2-й глюк - с папкой Documents папки User и UserBackUp идентичны это на виртуалке под админом в win7*64
Плохо, что скрипт переносит только те папки которые существуют в профиле. И при переносе, не создает не существующие. То есть, как в моем случае, у меня некоторые папки были уже перенесены и соответственно их не будет в папке с профилем. Можно бы было сделать так, чтобы основные папки, такие как рабочий стол, документы, музыка и так далее, при переносе их на другой диск, создавались в любом случае, независимо от того были они в папке с профилем или нет. Просто, если переносить их по новому, часть папок которая уже была перенесена, так и останется не тронутой. А в моем случае я еще и значения в реестре менял, указываю путь к новым папкам. =(
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы