![]() |
анализирование текста файла prefs.js и вписывание определённых значений в него
Хочется написать автоматическую установку 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% и первая буква из этой же переменной но то, что после пробела(так как ввод предполагает что сначала идёт фамилия, через пробел имя. Если упростить задачу можно сделать ввод имени и фамилии раздельными переменными - это опционально). Задача не тривиальная, но очень поможет в работе. Спасибо заранее друзья, надеюсь на вашу помощь. |
Лично у меня желания не возникает: мешанина из букв. Учитесь использовать заглавные буквы, знаки препинания и Теги форума. Как научитесь — вот это будет на самом деле круто.
|
друзья извиняюсь за свою суетность. Первая часть была решена. Путём простого вывода в файл параметров.
т.е. set file=%APPDATA%\Thunderbird\Profiles\prefs.js ну и следом echo user_pref("mail.identity.id1.archive_folder", "imap://%mail%/Archives");>>%file% echo user_pref("mail.identity.id1.draft_folder", "imap://%mail%/Drafts");>>%file% Чуть позже разобрался как сделать генерацию пользовательского имени. Всё таки разделил запрос вписывания фамилии и имени на 2 переменные. Конструкция выглядит вот так. echo user_pref("mail.smtpserver.smtp1.username", "ru%sname:~0,5%%name:~0,1%");>>%file% Работаю далее очень втянулся))). Всё равно спасибо. |
Время: 18:52. |
Время: 18:52.
© OSzone.net 2001-