Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - анализирование текста файла prefs.js и вписывание определённых значений в него

Ответить
Настройки темы
CMD/BAT - анализирование текста файла prefs.js и вписывание определённых значений в него

Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: psixoz-korvin
Дата: 14-01-2013
Описание: изменение текста задачи
Хочется написать автоматическую установку 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% и первая буква из этой же переменной но то, что после пробела(так как ввод предполагает что сначала идёт фамилия, через пробел имя. Если упростить задачу можно сделать ввод имени и фамилии раздельными переменными - это опционально).
Задача не тривиальная, но очень поможет в работе. Спасибо заранее друзья, надеюсь на вашу помощь.

Отправлено: 00:07, 14-01-2013

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Лично у меня желания не возникает: мешанина из букв. Учитесь использовать заглавные буквы, знаки препинания и Теги форума. Как научитесь — вот это будет на самом деле круто.

Отправлено: 00:54, 14-01-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


друзья извиняюсь за свою суетность. Первая часть была решена. Путём простого вывода в файл параметров.
т.е. 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%

Работаю далее очень втянулся))). Всё равно спасибо.

Последний раз редактировалось psixoz-korvin, 14-01-2013 в 13:31. Причина: дополнение


Отправлено: 11:39, 14-01-2013 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - анализирование текста файла prefs.js и вписывание определённых значений в него

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - [решено] Скрипт для изменения настроек Mozilla Thunderbird (prefs.js) batyaPS Скриптовые языки администрирования Windows 11 14-06-2012 16:06
VBS/WSH/JS - [решено] Замена определённых символов и вставка текста. aggressor_ Скриптовые языки администрирования Windows 9 29-05-2012 15:06
[решено] Вписывание прогресс-бара в гуи-форму saavaage AutoIt 9 09-08-2010 22:16
CMD/BAT - [решено] Скрипт для подключения на FTP-сервер и заливания на него файла James Marsh Скриптовые языки администрирования Windows 2 10-04-2010 18:10
Удаление текста из файла и запиь нового wwe AutoIt 6 21-02-2010 09:28




 
Переход