Вопрос или проблема
Я хотел выяснить, возможно ли связать мою папку htdocs (которая не находится в OneDrive) с OneDrive, чтобы она синхронизировалась без необходимости перемещения папки в OneDrive. Это будет что-то вроде зеркального копирования оригинальной папки htdocs. Изменения, внесенные в оригинальную папку, будут обновляться во второй папке.
Вы можете использовать следующую команду для этого, связывая Pictures
с new_folder
, и OneDrive начнет синхронизировать содержимое Pictures
:
Mklink /j "%UserProfile%\OneDrive\Documents\new_folder" "H:\Documents\Pictures"
Наконец-то удалось заставить этот метод работать, однако, кажется, шаг был упущен (или неясен). “%UserProfile%” относится к “%CompletePath%” к UserProfile, включая “%C:\Users(UserProfile)%”
Не знаю, проверяли ли вы мое решение этой проблемы, но считаю, что оно стоит вашего времени, оно с открытым исходным кодом и бесплатно здесь:
https://github.com/ktheod/OneDriveBully
По сути, это приложение, которое предоставляет вам удобный графический интерфейс для создания символических ссылок и периодически “заставляет”/обманывает OneDrive сканировать и синхронизировать изменения во всех папках со ссылками, переименовывая пустой файл в корневой папке OneDrive.
Спасибо,
То же решение, используя современную командную строку Windows:
Откройте “Windows PowerShell”:
New-Item -ItemType Junction -Path "$env:OneDrive\Documents\new_folder" -Target "H:\Documents\Pictures"
Объяснение: Это создает новую ссылку на папку или точку скачивания, как это называет Microsoft, в вашей папке OneDrive. Эта ссылка является как бы указателем, чтобы содержимое “H:\Documents\Pictures” также могло быть доступно, как если бы оно существовало в OneDrive\Documents\new_folder.
.
Ответ или решение
Связывание папки на компьютере с папкой в OneDrive, не перемещая ее физически в каталог OneDrive, может быть полезным, особенно если вы хотите сохранить структуру хранения данных на вашем устройстве, но при этом избавиться от забот о потерянных данных, поскольку OneDrive будет обеспечивать синхронизацию и резервное копирование. В Windows 10 это можно сделать с помощью создания символьной ссылки (или "жёсткой" ссылки), которая будет выступать в качестве прокси между вашей папкой на локальном диске и облачным хранилищем OneDrive.
Теоретическая база:
Символьная ссылка позволяет указать одно место хранения данных на жестком диске и "перенаправить" его в другое, как если бы это была папка с файлами в другом месте. Одно из больших преимуществ этого метода заключается в том, что он позволяет поддерживать оригинальную структуру папок, в то время как конечные пользователи и приложения могут работать с данными в привычных местах. Также это удобно, если у вас есть ограниченное место на диске, отведённом под OneDrive, и вы хотите сохранить физическое местоположение данных на другом диске, но при этом обеспечить их синхронизацию с облаком.
Пример:
Рассмотрим создание символьной ссылки для папки "htdocs". Допустим, папка "htdocs" хранится в "C:\xampp\htdocs" и вы хотите синхронизировать её содержимое с OneDrive, не перенося её в папку "OneDrive". Windows предлагает два основных способа создания ссылок: через команду mklink
на командной строке и более современный метод через PowerShell.
-
Использование командной строки:
mklink /j "%UserProfile%\OneDrive\htdocs" "C:\xampp\htdocs"
Этот метод создаёт жёсткую ссылку (junction) в каталоге OneDrive. Все изменения, сделанные в "C:\xampp\htdocs", будут автоматически отображены в "OneDrive\htdocs", и OneDrive начнёт синхронизацию этих данных.
-
Использование PowerShell:
New-Item -ItemType Junction -Path "$env:OneDrive\htdocs" -Target "C:\xampp\htdocs"
Данный метод выполняет ту же функцию, что и предыдущий, но через более современный инструмент Windows. Благодаря удобству PowerShell, команды могут быть более гибкими и легче автоматизируемыми.
Применение на практике:
Перед началом настоятельно рекомендуется создать резервные копии данных, поскольку операция с символическими ссылками, как правило, безопасна, но всегда остаётся шанс, что что-то может пойти не так.
- Убедитесь, что OneDrive установлен и активирован на вашем устройстве. Убедитесь, что папка OneDrive синхронизируется корректно.
- Откройте Командную строку с правами администратора. Это важно, поскольку большинство команд для работы с файловой системой требуют повышенных привилегий.
- Используйте один из предложенных методов для создания ссылки. Подождите, пока OneDrive распознает изменения и начнёт синхронизацию.
- Если вы имеете постоянные проблемы с синхронизацией, можно использовать сторонние инструменты для управления символическими ссылками и принудительной синхронизации. Один из них — это OneDriveBully, который предлагает графический интерфейс для удобного управления такими ссылками и принудительной синхронизации OneDrive.
Практические советы и возможные проблемы:
- Права доступа: Убедитесь, что у вас есть полные права на обе папки, как на ту, что синхронизируется, так и на сам каталог OneDrive.
- Конфликты имен: Если в папке OneDrive уже есть папки с тем же именем, это может вызвать конфликты. Разрешите их до того, как начнёте процесс.
- Мониторинг синхронизации: В случае крупных изменений в папке, OneDrive может не сразу распознать их. В таких ситуациях можно использовать утилиты для принудительного запуска сканирования папки, например, вышеупомянутый OneDriveBully.
- Изменение структуры папок: Будьте осторожны с изменением структуры папок или переименованием, так как это может вызвать сбой в работе связей.
Таким образом, используя этот метод, вы можете сэкономить место на диске и упростить процесс резервного копирования ваших данных. Надеюсь, это поможет вам в оптимизации работы с файлами и обеспечении их безопасности.