psixoz-korvin
14-01-2013, 00:07
Хочется написать автоматическую установку thunderbird с нужными плагинами и параметрами. Удачно то что thunderbird не хранит свои настройки в реестре а хранит их в файле prefs.js.
Я написал батник, который потихому thunderbird ставит, копирует нужные плагины, каталоги и данный файл prefs.js.
Сделал вывод, что можно батником "донастроить" и "доавтоматизировать". Предварительно в батнике есть:
set /P name="Введите Фамилию и Имя через пробел: "
set /P mail="Введите mail: "
эти 2 переменные как раз и будут фигурировать в prefs.js
Задача: нужно, пробежатся по файлу и внести нужные параметры в нужных местах. строки разбросаны по файлу, но их можно реорганизовать, и поставить в любое место.
user_pref("mail.identity.id1.archive_folder", "imap://%mail%/Archives");
user_pref("mail.identity.id1.draft_folder", "imap://%mail%/Drafts");
user_pref("mail.identity.id1.fcc_folder", "imap://%mail%/Sent");
user_pref("mail.identity.id1.fullName", "%name%");
user_pref("mail.identity.id1.stationery_folder", "imap://%mail%/Templates");
user_pref("mail.identity.id1.useremail", "%mail%");
user_pref("mail.server.server1.directory", "C:\\thunder-mail\\{%mail%}");
user_pref("mail.server.server1.directory-rel", "[ProfD]../../../../../../thunder-mail/{%mail%}");
user_pref("mail.server.server1.name", "%mail%");
user_pref("mail.server.server1.spamActionTargetAccount", "imap://%mail%");
user_pref("mail.server.server1.userName", "{Здесь особая конструкция, нужно первые 2 буквы оставить ru, 5 первых букв фамилии и первая буква имени(такой стандарт)}");
user_pref("mail.smtpserver.smtp1.username", "{тоже самое первые 2 буквы оставить ru, 5 первых букв фамилии и первая буква имени(такой стандарт)}"); это пожалуй самая сложная часть мероприятия.
Для себя логически разделяю всё на 3 части. 1.Вставить переменную %mail% по всему файлу после значения imap://, предположительно можно в файле проставить изначальный текст из значений, например =====, и делать замену на переменную %mail%(в блокноте это действует как заменить весь текст при исходном и целевом значении)
2.Аналогично первому пункту, но вставить переменную, после thunder-mail/ и thunder-mail\\, всё таки если будут изначально проставлены значения например ===== и будут заменяться, то оба пункта реализуются одним методом(мне он кажется более реалистичным)
3.С генерацией пользовательского имени, при котором 2 первые буквы ru, 5 первых букв из переменной %name% и первая буква из этой же переменной но то, что после пробела(так как ввод предполагает что сначала идёт фамилия, через пробел имя. Если упростить задачу можно сделать ввод имени и фамилии раздельными переменными - это опционально).
Задача не тривиальная, но очень поможет в работе. Спасибо заранее друзья, надеюсь на вашу помощь.
Я написал батник, который потихому thunderbird ставит, копирует нужные плагины, каталоги и данный файл prefs.js.
Сделал вывод, что можно батником "донастроить" и "доавтоматизировать". Предварительно в батнике есть:
set /P name="Введите Фамилию и Имя через пробел: "
set /P mail="Введите mail: "
эти 2 переменные как раз и будут фигурировать в prefs.js
Задача: нужно, пробежатся по файлу и внести нужные параметры в нужных местах. строки разбросаны по файлу, но их можно реорганизовать, и поставить в любое место.
user_pref("mail.identity.id1.archive_folder", "imap://%mail%/Archives");
user_pref("mail.identity.id1.draft_folder", "imap://%mail%/Drafts");
user_pref("mail.identity.id1.fcc_folder", "imap://%mail%/Sent");
user_pref("mail.identity.id1.fullName", "%name%");
user_pref("mail.identity.id1.stationery_folder", "imap://%mail%/Templates");
user_pref("mail.identity.id1.useremail", "%mail%");
user_pref("mail.server.server1.directory", "C:\\thunder-mail\\{%mail%}");
user_pref("mail.server.server1.directory-rel", "[ProfD]../../../../../../thunder-mail/{%mail%}");
user_pref("mail.server.server1.name", "%mail%");
user_pref("mail.server.server1.spamActionTargetAccount", "imap://%mail%");
user_pref("mail.server.server1.userName", "{Здесь особая конструкция, нужно первые 2 буквы оставить ru, 5 первых букв фамилии и первая буква имени(такой стандарт)}");
user_pref("mail.smtpserver.smtp1.username", "{тоже самое первые 2 буквы оставить ru, 5 первых букв фамилии и первая буква имени(такой стандарт)}"); это пожалуй самая сложная часть мероприятия.
Для себя логически разделяю всё на 3 части. 1.Вставить переменную %mail% по всему файлу после значения imap://, предположительно можно в файле проставить изначальный текст из значений, например =====, и делать замену на переменную %mail%(в блокноте это действует как заменить весь текст при исходном и целевом значении)
2.Аналогично первому пункту, но вставить переменную, после thunder-mail/ и thunder-mail\\, всё таки если будут изначально проставлены значения например ===== и будут заменяться, то оба пункта реализуются одним методом(мне он кажется более реалистичным)
3.С генерацией пользовательского имени, при котором 2 первые буквы ru, 5 первых букв из переменной %name% и первая буква из этой же переменной но то, что после пробела(так как ввод предполагает что сначала идёт фамилия, через пробел имя. Если упростить задачу можно сделать ввод имени и фамилии раздельными переменными - это опционально).
Задача не тривиальная, но очень поможет в работе. Спасибо заранее друзья, надеюсь на вашу помощь.