[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
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 раз(а)

[Цитировать]

    korsak7
  • 107
  • Стаж: 9 лет
  • Сообщений: 1063
  • Репутация:62

    [+] [-]
А вот если зайти конкретно на диск, то увы.
Я всяко извращался - файл и в профиль на С переносил, и из него куда попало и оттуда в D:\user и наоборот. Всё норм.
Тема как для BackUp и восстановления самое то.
Я бы не стал в данном случае связываться с быстрым меню.

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
SOFFON, dimo70,
55630Уж слишком много в этом методе не нравится.
Вы просто пытаетесь использовать утилиту, для задач, на которых она не ориентирована.
Это можно сделать с ее помощью, для этого я добавил поддержку ком. строки, но свою задачу Вы должны решать сами, я могу только подсказать, как это можно сделать.

[Цитировать]

    SOFFON
  • 2252
  • Стаж: 8 лет 11 месяцев
  • Сообщений: 85
  • Репутация:0

    [+] [-]
55634Я всяко извращался - файл и в профиль на С переносил, и из него куда попало и оттуда в D:\user и наоборот. Всё норм.
Тогда даже не знаю ((.
55636Вы просто пытаетесь использовать утилиту, для задач, на которых она не ориентирована.
Возможно. В любом случае, я с уважением отношусь к вашему труду и не пытаюсь перекладывать свои хотелки на вас, надеюсь вы меня правильно понимаете.


Последний раз редактировалось: SOFFON (2018-07-25 15:39), всего редактировалось 1 раз

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
55621Для полного счастья осталось еще сделать батник с перебором и автопереносом всех юзеров
Ну и сделай, там проблем особых быть не должно, вопрос не как решить, а как поставить задачу.
Пример:
MoveUserData.cmd "d:\Users\Вася Пупкин" "e:\Вася Пупкин" /Backup /Quiet
создаст бэкап UserData "Вася Пупкин" системы лежащий на d: на диске e: , с которого можно будет восстановиться из под WinPe, или загруженной системы под логином "Вася Пупкин" или другим.
А вот как культуно это оформить, выбор пользователя, куды и чего и т.п , решай сам, помогу.

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
SOFFON,
55642Тогда даже не знаю
Ничего не понял из видео, дополните комментарием.

[Цитировать]

    SOFFON
  • 2252
  • Стаж: 8 лет 11 месяцев
  • Сообщений: 85
  • Репутация:0

    [+] [-]
55647Ничего не понял из видео, дополните комментарием.
На видео я перенес папки профиля(библиотеки) на диск D:\%UserName%. После чего, в папке D:\%UserName%\Downloads создал текстовый документ и перетащил его на рабочий стол. Как видно на видео, он не переместился а копировался туда, как будто это два разные диска, хотя находятся на одном диске D:\. Далее я перешел в папку документы из панели быстрого доступа, и как видно на видео, файл .txt свободно переносится в обе стороны, как и должно быть. После я перешел в туже папку Документы, только уже не через панель быстрого доступа, а перейдя по пути D:\%UserName%\Documents и перетащил тот же файл .txt с раб.стола в папку документы. Теперь файл не переместился туда а снова копировался. Это то, о чем я говорил с korsak7. Что файлы внутри одного диска не перемещаются а копируются.
Понятно, что по сути виндовс видит эти папки как(например) %UserProfile%\Document , но находятся они в D:\%UserName%\Documents. Поэтому когда я перемещаю(перетаскиванием) файлы допустим с D:\%UserName%\Documents на рабочий стол, то файлы копируются а не перемещаются, хотя находятся по сути на одном диске.

[Цитировать]

    dimo70
  • 17296
  • Стаж: 7 лет
  • Сообщений: 3784
  • Репутация:27

    [+] [-]
  • Откуда: BG
nikzzzz,
Вот что сделал и вроде работает.

Код

set "User=User"
set "UserProfileOld=C:\Windows.old\Users\%User%"
set "opt= /e /move /xj  /NJS  /NJH  /NP /NC"
:: explorer, чтобы не создавал проблем
>nul 2>&1 taskkill /im explorer.exe /f
>nul 2>&1 taskkill /im explorer.exe /f
>nul 2>&1 taskkill /im explorer.exe /f
>nul 2>&1 taskkill /im explorer.exe /f
>nul 2>&1 taskkill /im explorer.exe /f
>nul 2>&1 taskkill /im explorer.exe /f
>nul 2>&1 taskkill /im explorer.exe /f
>nul 2>&1 taskkill /im explorer.exe /f
>nul 2>&1 taskkill /im explorer.exe /f
>nul 2>&1 taskkill /im explorer.exe /f
>nul 2>&1 taskkill /im explorer.exe /f
>nul 2>&1 taskkill /im explorer.exe /f
>nul 2>&1 taskkill /im explorer.exe /f
>nul 2>&1 taskkill /im explorer.exe /f
>nul 2>&1 taskkill /im explorer.exe /f
robocopy "%UserProfileOld%\desktop" "%UserProfile%\Desktop" %opt%
robocopy "%UserProfileOld%\Documents" "%UserProfile%\Documents" %opt%
robocopy "%UserProfileOld%\Downloads" "%UserProfile%\Downloads" %opt%
robocopy "%UserProfileOld%\Favorites" "%UserProfile%\Favorites" %opt%
robocopy "%UserProfileOld%\Pictures" "%UserProfile%\Pictures" %opt%
robocopy "%UserProfileOld%\Music" "%UserProfile%\Music" %opt%
robocopy "%UserProfileOld%\Videos" "%UserProfile%\Videos" %opt%
rd /q /s "%UserProfile%\AppData\Roaming\Mozilla"
robocopy "%UserProfileOld%\AppData\Roaming\Mozilla" "%UserProfile%\AppData\Roaming\Mozilla" %opt%
robocopy "%UserProfileOld%\AppData\Local\Google\Chrome" "%UserProfile%\AppData\Local\Google\Chrome" %opt%
robocopy "%UserProfileOld%\AppData\Roaming\AnyDesk" "%UserProfile%\AppData\Roaming\AnyDesk" %opt%
robocopy "%UserProfileOld%\AppData\Roaming\Opera Software" "%UserProfile%\AppData\Roaming\Opera Software" %opt%
robocopy "%UserProfileOld%\AppData\Roaming\Skype" "%UserProfile%\AppData\Roaming\Skype" %opt%
::..........................................................................
start explorer.exe
на место /copyall поставил /move

Комментарий от nikzzzz


Пользуйтесь предпросмотром, если вы используете тег spoiler= , то нужно указать текст, например spoiler=Код
А так, было бы странным, если-бы он не работал.
Можно еще добавить rd /q /s ".... , перед robocopy "... чтобы не было лишнего мусора, подобно как для Mozilla .


Последний раз редактировалось: dimo70 (2018-07-25 17:40), всего редактировалось 2 раз(а)

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
SOFFON,
Похоже это особенности проводника Windows, он пытается переименовать каталог на прописанное в desktop.ini имя, в результате и возникает эта проблема.
[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\windows.storage.dll,-21825
IconResource=%SystemRoot%\system32\imageres.dll,-198
Попробуйте удалить desktop.ini или удалите из него строку "LocalizedResourceName=...".

[Цитировать]

    SOFFON
  • 2252
  • Стаж: 8 лет 11 месяцев
  • Сообщений: 85
  • Репутация:0

    [+] [-]
nikzzzz, пробовал оба варианта, все равно происходит копирование а не перемещение.
upd. Просто перемещение (для примера) с D:\%UserName%\Downloads на раб стол, виндовс видит как перемещение с D:\%UserName%\Downloads на %UserProfile%\Desktop, поэтому файлы и копируются а не перемещаются. Хотя по сути находятся на одном диске D:\ и после того как фалы с D:\%UserName%\Downloads скопируются на %UserProfile%\Desktop (они соответственно будут и на D:\%UserName%\Desktop ) и при удалении с D:\%UserName%\Desktop файлы пропадают с раб.стола а вот при копировании такая ерунда.

[Цитировать]

    korsak7
  • 107
  • Стаж: 9 лет
  • Сообщений: 1063
  • Репутация:62

    [+] [-]
Возможно всё проще - это стандартное поведение винды для папок со связями - как например для сетевых папок, когда при перетаскивании мышью выполняется копирование а не перемещение.
SOFFON, попробуй перетащить при помощи ПКМ-переместить
Именно поэтому я всегда перетаскиваю именно ПКМ, чтоб не сомневаться копирую я или перемещаю
nikzzzz, кстати ключа /Quiet в ReadMe.txt нет

[Цитировать]

    SOFFON
  • 2252
  • Стаж: 8 лет 11 месяцев
  • Сообщений: 85
  • Репутация:0

    [+] [-]
korsak7, ПКМ-переместить работает. Ну собственно мысль моя изначально была в том, что это не совсем удобно. Просто получается, что по факту файлы находятся на одном диске, но для банального переноса, приходится заморачиваться. Это конечно не так сложно, но привычка есть привычка.

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
korsak7,
55656кстати ключа /Quiet в ReadMe.txt нет
Забыл добавить в ReadMe, но есть в шапке. al
Ключи могут находиться в любом месте, например
MoveUserData.cmd  [/Quiet] [UserData] [/UndoMoveUserData|/Backup|/Restore] [NewUserData|BackUpUserData]

[Цитировать]

    korsak7
  • 107
  • Стаж: 9 лет
  • Сообщений: 1063
  • Репутация:62

    [+] [-]
55657korsak7, ПКМ-переместить работает. Ну собственно мысль моя изначально была в том, что это не совсем удобно. Просто получается, что по факту файлы находятся на одном диске, но для банального переноса, приходится заморачиваться. Это конечно не так сложно, но привычка есть привычка.
То есть при перетаскивании ты постоянно задумываешься, на одном ты диске или на разных?

[Цитировать]

    SOFFON
  • 2252
  • Стаж: 8 лет 11 месяцев
  • Сообщений: 85
  • Репутация:0

    [+] [-]
korsak7, ag нее, при перетаскивании я не парюсь нажиманием кнопок (вырезать вставить (переместить)) а просто беру и перемещаю. А в данном случае получается, что я не перемещаю а копирую. Так может собраться куча дублей одних и тех же файлов(да и не факт что место под эти дубли есть)... ведь как уже сказал привычка... и не всегда в голове будет то, что для того, чтобы переместить файл, нужно помимо перетаскивания его мышкой, что-то там нажимать. ar ah

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
SOFFON,
Идеология windows - пользователь вообще не должен знать, где хранятся его данные, он видит только библиотеки, если пользоваться только ими, проблем не будет.
Копирую или перенося свой файл в другое место , вы становитесь слишком умным, и нарушаете лицезионное соглашение с microsoft. ae

Страница 6 из 7


Показать сообщения:    

Текущее время: 03-Дек 20:27

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы