Вот, попробуйте.
http://rghost.ru/54301643 Альфа такая альфа, но основной функционал в целом работает. Весьма интересно знать, будет ли работать у других, особенно под какой-нибудь Win x64 или WinXP. Я тестировал только на Win7 x86. Код завязан только на виндовые библиотеки и, по-идее, должен запускаться под любой виндой начиная с XP.
Некоторые комментарии.
Две кнопки слева: верхняя монтирует, нижняя размонтирует. Все остальные элементы относятся к настройкам. Позже интерфейс переделаю, спрячу часть настроек и, скорее всего, останется одна кнопка mount/unmount, которая будет изменяться исходя из текущего состояния.
Если диск уж смонтирован, повторно смонтировать не даст и выведет предупреждение. Если не смонтирован, не даст размонтировать. Возможна ситуация с неправильным определением статуса смонтированности (например, во время работы программы монтировали или размонтировали указанный диск другими средствами), этим займусь позже.
Поле выбора диска пока заблокировано. Не потому, что оно ничего не выбирает или что-то работает не так, потому что я пока не решил, как быть с ситуацией, когда папка уже смонтирована на один диск, а отключить пытаемся другой. То есть вопрос в том, нужна ли возможность монтировать несколько папок одновременно. Склоняюсь к тому, что нужна, но пока еще не реализовано. Если во время тестирования нужна другая буква, можете задать ее через ini-файл - он создастся при первом сохранении настроек.
Путь к корневой папке облака должен определиться автоматически и менять его нет необходимости. Возможность ручного указания сделана по традиции времен самой первой версии скрипта. Ну и чисто теоретически может пригодиться при использовании портативной версии клиента (если она существует в природе).
Галочка OEM переключает кодировку консоли, потому что программа завязана на нее. У большинства пользователей кодировка консоли cp866, что соответствует установленной галочке. Если вдруг у кого-то в консоли cp1251 (бывает так), то галочку снять.
Имя папки в облаке может содержать русские буквы (кстати, в .cloud_ss все имена папок приведены к нижнему регистру, если писать туда имена с заглавными буквами, при следующей синхронизации закачанная папка сливается из облака обратно в папку синхронизации). Допустимы шаблоны даты и времени: %yyyy, %yy, %mm, %dd, %hh, %ii (это есть во всплывающей подсказке). Шаблон тут же раскрывается в тексте под полем ввода шаблона, что позволяет сразу оценить имя получаемой папки.
Настройки не сохраняются автоматически, только по кнопке "Сохранить". Не решил еще, насколько это логично. Может быть, сделаю запрос на сохранение настроек перед выходом, если они изменены. Или какую-то настройку в настройках, пардон за тавтологию.
Перед первом монтировании надо положить в папку с программой симлинк к диску Z: (можно получить запуском с правами администратора config.cmd из тех самых скриптов). Если хотите подключать какой-то другой диск, измените букву в config.cmd и опять запустите его с администраторскими правами. Потом сделаю механизм создания симлинков к дискам непосредственно из программы (там требуется повышение прав, я до этого еще не добрался).
Так, что еще... При выполнении команд монтирования-размонтирования мелькают черные окошки, не надо их пугаться. Потом с ними разберусь.
Указывать подпапку как последовательность вложенных папок (типа "мои архивы\архив за сёдня") не надо. Такое в настоящее время никак не обрабатывается и вряд ли будет работать.
В общем, жду отзывов по работе.
upd Вспомнил еще про один баг.
После изменения имени подпапки (которая с шаблонами) надо сохранить настройки и перезапустить программу. Ага, и клиент облака не перезапускается на автомате после завершения работы. Пока не умеет. Попробую прикрутить определение пути исполняемого файла клиента непосредственно из свойств его запущенного экземпляра.
И еще один комментарий относительно размонтирования. При нажатии кнопки размонтирования в то время, как клиент не запущен, просто удаляется ссылка на папку, а изменения в .cloud_ss не вносятся и .cloud не удаляется.