Skip to content

Ideshon/AppData-Folder-Mover

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

AppData Folder Mover

Программа переносит выбранную папку из %USERPROFILE%\AppData в указанное место и создаёт на старом пути NTFS junction-ссылку.

Что нового в v4

1. Сортировка подпапок по размеру

Добавлена кнопка Размеры.

Она:

  1. Берёт текущую выбранную исходную папку.
  2. Если исходная папка не выбрана, берёт %LOCALAPPDATA%.
  3. Считает размеры прямых подпапок.
  4. Показывает отдельное окно со списком по убыванию размера.
  5. Позволяет двойным щелчком выбрать подпапку как исходную.

Важно: папки-ссылки/junction не раскрываются и не считаются как реальный размер цели. Это сделано специально, чтобы уже перенесённые папки не выглядели как обычные локальные папки.

2. Проверка уже перенесённых папок внутри выбранной папки

Программа теперь проверяет вложенные junction/symlink/reparse point папки внутри выбранной папки.

Пример проблемы:

Выбрана:
C:\Users\User\AppData\Local\Yandex

Но внутри уже есть перенесённая папка:
C:\Users\User\AppData\Local\Yandex\YandexBrowser\User Data -> G:\Appdata\Local\Yandex\YandexBrowser\User Data

В таком случае программа заблокирует перенос Local\Yandex, потому что перенос родителя может сломать вложенную ссылку.

Правильные варианты:

  • выбрать более точную папку, которая ещё не содержит вложенных ссылок;
  • сначала вручную вернуть/отменить уже перенесённую вложенную папку;
  • не переносить родительскую папку целиком.

Возможности v3

Программа проверяет приложения, которые держат файлы в переносимой папке.

  1. Перед переносом проверяет занятость папки через Windows Restart Manager.
  2. Показывает список процессов, которые могут мешать переносу.
  3. Предлагает закрыть их автоматически.
  4. Сначала пробует мягкое закрытие окна.
  5. Если процесс всё ещё держит файлы, отдельно спрашивает разрешение на принудительное завершение.

Кнопка Занятость запускает ручную проверку.

Логика целевого пути

Целевой путь строится по полному пути после AppData.

Пример:

Исходная папка:
C:\Users\User\AppData\Local\Yandex\YandexBrowser\User Data

Выбранная базовая папка:
G:\Appdata

Новая папка:
G:\Appdata\Local\Yandex\YandexBrowser\User Data

Запуск

  1. Распакуйте архив.
  2. Запустите Start-AppData-Folder-Mover.bat.
  3. Выберите исходную папку внутри AppData.
  4. Нажмите База и выберите базовую папку на другом диске.
  5. Программа автоматически подставит полный путь после AppData.
  6. При необходимости нажмите Размеры, чтобы найти самые большие подпапки.
  7. При необходимости нажмите Занятость, чтобы проверить мешающие приложения.
  8. Нажмите Проверить.
  9. Нажмите Перенести.

Подробный вывод при большом переносе

Для больших папок используется robocopy.

Подробный вывод идёт:

  1. В консоль, из которой запущен .bat.
  2. В файл внутри папки:
detailed_logs

Кнопка Логи открывает эту папку.

Что делает программа

  1. Проверяет, что исходная папка внутри AppData.
  2. Проверяет, что исходная папка не является ссылкой.
  3. Проверяет, что внутри выбранной папки нет уже перенесённых вложенных папок-ссылок.
  4. Проверяет приложения, которые держат файлы.
  5. При согласии пользователя закрывает мешающие процессы.
  6. Переименовывает исходную папку во временную.
  7. Копирует временную папку в новое место через robocopy.
  8. Создаёт junction на старом пути через:
mklink /J
  1. После успешного создания ссылки удаляет временную исходную копию.

Важно

  • Не переносите весь AppData, Local, Roaming или LocalLow целиком.
  • Перед переносом лучше закрыть программу/игру вручную.
  • Автоматическое закрытие может привести к потере несохранённых данных.
  • Целевой диск должен быть NTFS.
  • Для папок используется junction, а не обычный ярлык .lnk.
  • Сетевые пути для junction не подходят.
  • Если внутри выбранной папки уже есть вложенная перенесённая папка, перенос родителя блокируется.
image

About

Программа переносит выбранную папку из `%USERPROFILE%\AppData` в указанное место и создаёт на старом пути NTFS junction-ссылку.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors