Как установить папку Dropbox на сетевое устройство
– Г-голубчики, – сказал Фёдор Симеонович озадаченно,
разобравшись в почерках. – Это же п-проблема
Бен Б-бецалеля. К-калиостро же доказал, что она
н-не имеет р-решения.
– Мы сами знаем, что она не имеет решения, – сказал
Хунта, немедленно ощетиниваясь. – Мы хотим
знать, как её решать.
Братья Стругацкие. Понедельник начинается в субботу
Как известно, популярная программа облачного хранения данных Dropbox не позволяет располагать свою папку на сетевых устройствах.
Делает он это по принципиальным и, в общем, более или менее логично звучащим причинам, цитирую с сайта сервиса:
- Dropbox несовместим с протоколами сетевого доступа к файловым системам.
- Такой протокол не отправляет сообщения об изменении файлов. Когда вы запускаете Dropbox, он тщательно проверяет файлы, обнаруживает изменения и синхронизирует их. Но Dropbox также обычно должен получать сообщения об изменении файла, которые могут отправлять только физически подключенные диски.
- Если переместить папку Dropbox на жесткий диск с нестандартной файловой системой, неизвестно, как именно поведет себя программа.
- В таких файловых системах могут существовать ограничения, которые Dropbox в состоянии будет контролировать (например, ограничения, связанные с размером или типом файлов, и т. д.).
Тем не менее при использовании домашних и офисных сетевых накопителей (NAS) со стандартными сетевыми протоколами Windows или Mac при размещении папки Dropbox в расшаренной папке сетевого накопителя облачное хранилище работает абсолютно точно так же, как и при размещении папки на локальном диске, и никаких проблем с этим не возникает. Dropbox просто перестраховывается, чтобы к разработчикам не было претензий при использовании каких-то нестандартных протоколов и нестандартных файловых систем, вот и не позволяет размещать свою папку на сетевом устройстве - просто от греха.
(Впрочем, замечу, что многие продвинутые NAS умеют самостоятельно синхронизировать выбранные папки с облачными сервисами, включая Dropbox.)
Попробуйте в настройках предложить Dropbox перенести свою папку на сетевой диск - получите вот такое сообщение.
А ведь во многих случаях, особенно на современном этапе развития всяких твердотельных дисков, пользователям очень нужно, чтобы папка Dropbox была размещена на сетевом накопителе, особенно если там хранится большой объем данных.
Ведь многие пользователи вообще начинают избавляться от обычных жестких дисков в компьютерах, оставляя там только твердотельные диски, а жесткие диски устанавливают только в NAS, где им самое место.
Вот у меня, например, в новом компьютере никакого жесткого диска уже нет - он мне там совершенно не нужен. И с Dropbox эту проблему мне нужно было как-то решать, потому что я в Dropbox могу хранить под терабайт данных на бизнес-аккаунте - так что, мне теперь только из-за Dropbox держать в компьютере жесткий диск? Или только под Dropbox приобретать дополнительный SSD, что было бы несусветной глупостью и совершенно пустой тратой денег?
Но решение в конце концов было найдено, причем оно оказалось достаточно несложным.
В операционной системе Windows есть волшебная команда под названием subst (от substitution - подстановка). С помощью этой команды можно какую-то папку назначить отдельным диском. Выполнение команды, например "subst x: d:\Test", приведет к тому, что в системе появится новый диск с буквой X, внутри которого будет содержимое папки Test диска D.
Эта команда также умеет работать и с сетевыми папками, например вот таким образом: "subst x: \\NAS\Collection": после этого содержимое папки Collection будет выводиться в виде отдельного диска X.
Вы уже догадались, да? Надо через subst назначить сетевую папку в виде отдельного диска и подсунуть этот диск Dropbox? У меня тоже была такая мысль, но так просто не сработает: в Dropbox встроена защита от таких умников и он при попытке указать такой подставленный диск снова выдает сообщение о том, что это сетевой носитель (в системе такой диск называют "Отключенным сетевым устройством", хотя оно подключено).
Но мы его все равно обманем. Просто не в один шаг, а в два. Делаем следующее.
Сначала на том диске локального компьютера, где лежит папка Dropbox, создаем новую папку с каким-то именем - например, ForDropbox. Далее с помощью команды subst эту папку назначаем каким-то диском - выберите сами нужную букву, но имейте в виду, что после этого буква будет использоваться именно для папки Dropbox. Давайте это будет, например, диск F, если эта буква еще не занята.
Команду subst вводим через окно "Выполнить" (клавиша Win+R). Разумеется, вы там указываете свои буквы дисков.
Выполнили (нажали ОК). Теперь у вас диск F - это содержимое папки ForDropbox на диске D.
Далее заходим в настройки параметров Dropbox (правая кнопка мыши на значке Dropbox в системной области уведомлений), там "Аккаунт" - "Расположение" - кнопка "Переместить". Там выбираем подставленный через subst диск F - он у нас указывает на папку локального диска, Dropbox по поводу него возражать не будет и после нажатия кнопки ОК целиком перенесет туда папку Dropbox.
Когда процесс закончится, опять правая кнопка мыши на значке Dropbox и выбираем "Выйти из Dropbox". Программа закроется.
Теперь убираем подстановку на диск F командой:
После этого папка ForDropbox со всем содержимым перемещается на желаемое сетевое устройство (с учетом того, сколько там должно быть свободного места и так далее).
Предположим, что мы эту папку переместили на адрес \\NAS\Backup. (Если папка постоянно подключена в виде сетевого диска, то она просто будет иметь какую-то букву - предположим, H.)
Даем команду:
Ну или вот так, если расшаренная папка подключена в виде буквы диска H:
Ну и все, теперь остается только запустить Dropbox. Тот никак не ожидает, что диск F из локального вдруг стал сетевым, никаких возражений у него на этот счет уже не возникает, единственное - он в фоне запустит переиндексацию всей папки и это займет какое-то время. После переиндексации Dropbox со своей папкой на сетевом диске будет работать точно так же, как и на локальном. У меня это все преспокойно работает и проблем с этим никаких нет.
Впрочем, нет, не все. Теперь еще нужно сделать так, чтобы подстановка автоматом запускалась при запуске компьютера, и так, чтобы Dropbox загружался не абы как, а в строго очередной последовательности.
Запускать подстановку при старте системы можно следующим образом. В какой-то папочке создаете обычный текстовый файл с расширением CMD (да хоть "Блокнотом" или Shift+F4 в Total Commander) - например, mystart.cmd.
Внутри этого первоначально пустого файла вписываете строчку подстановки так, как она у вас выглядит, например:
subst f: \\NAS\Backup\ForDropbox
Теперь важный момент по поводу загрузки Dropbox. Теперь, когда мы папку Dropbox поместили на сетевое хранилище, вам придется убрать в настройках Dropbox автоматическую загрузку при старте системы. Потому что почти наверняка он будет стартовать раньше файла mystart.cmd, при старте не обнаружит диск F и начнет вам кричать, что шеф, все пропало, диск пропал, как жить теперь, как жить. И вам придется программу закрыть. А потом запустить заново - после того, как диск F появится.
Зачем делать лишние действия, правильно? Поэтому в самом Dropbox автоматический старт выключаем. Если вам не надо, чтобы программа запускалась автоматом, ну тогда запускайте ее руками. Но если надо, тогда просто поставьте вызов Dropbox в том самом файле mystart.cmd, после subst дописав еще строчку (не забудьте поставить кавычки):
"c:\Program Files (x86)\Dropbox\Client\Dropbox.exe"
Это для 64-битных систем. Для 32-битных путь будет такой:
"c:\Program Files\Dropbox\Client\Dropbox.exe"
И на последней строчке лучше добавить команду exit, чтобы окно закрылось.
Таким образом, mystart.cmd у вас будет выглядеть следующим образом:
subst f: \\NAS\Backup\ForDropbox
"c:\Program Files (x86)\Dropbox\Client\Dropbox.exe"
exit
Сохраняете файл.
Теперь вам надо поставить его в автозагрузку. Можно сделать это через сценарии Windows, но проще по старинке - поместить ярлык на mystart.cmd в папку автозагрузок. В Windows 10 эту папку найти непросто, поэтому для быстрого доступа в окне "Выполнить" просто дайте такую команду и нажмите на ОК.
Перед вами откроется папка автозагрузки - просто поместите туда ярлык на mystart.cmd. (Можно и сам файл туда поместить, но лучше ярлык, чтобы вы могли вносить в этот файл изменения, не залезая в папку автозагрузки.)
Ну и все, теперь сначала будет запускаться подстановка, а потом Dropbox, который уже не будет ругаться на отсутствующий диск, и Dropbox будет преспокойно работать со своей папкой, расположенной на сетевом диске.
Мы сделали это!
P. S. Кстати, этот способ, скорее всего, будет работать и для некоторых других приложений, не желающих работать с папками на сетевых дисках. Но, разумеется, сначала выясните, чем вам такое может грозить.
Ссылки по теме:
Дата публикации: 26.01.2017
https://www.exler.ru/likbez/26-01-2017.htm
|