|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Надо собрать со всех компов адреса почты и пароли от них |
|
CMD/BAT - [решено] Надо собрать со всех компов адреса почты и пароли от них
|
Пользователь Сообщения: 57 |
Друзья, еще только начал осваивать скриптовые языки (а задачи уже надо решать) помогите пожалуйста кодом в следующей ситуацией.
Надо собрать со всех компов адреса почты и пароли от них. Есть программка Mail PassView v1.77 с возможностью доставать эту инфу и сохранять в файл (правда не только адрес и пароль но и доп. инфу) Пример: нужно вытащить информацию из созданного программой файла (info.txt) значения строчек User: и Password: и поместить в новый файл newfile.txt в таком виде: user@mail.ru qwerty Спасибо! ПС Причем в таком файле info.txt может быть информация о нескольких ящиках на одном компьютере.. |
|
Отправлено: 14:21, 26-04-2013 |
Ветеран Сообщения: 2732
|
Профиль | Отправить PM | Цитировать @Echo Off Set info=info.txt Set New=newfile.txt Del "%New%" 2>nul SetLocal EnableExtensions EnableDelayedExpansion FOR /F "usebackq delims=" %%s IN ("%info%") DO ( Set SS=%%s Set SS=!SS:User : =! If Not "%%s"=="!SS!" Set Log=!SS!&Echo !Log! Set SS=%%s Set SS=!SS:Password : =! If Not "%%s"=="!SS!" Echo !Log! !SS! >>"%New%" ) |
------- Отправлено: 15:43, 26-04-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 57
|
Профиль | Сайт | Отправить PM | Цитировать Спасибо, сейчас попробую)
Допустим файлы info.txt создаются в общей сетевой папке, с именем компьютера на котором запускался bat например: \\server\mailinfo\%computername%.txt Как изменится в таком случае код? megaloman, код не срабатывает... может я делаю что то не правильно: я сделал bat с этим кодом поместил в папку где лежит info.txt запустил newfile.txt не создался. |
Последний раз редактировалось timbird, 26-04-2013 в 16:13. Отправлено: 15:51, 26-04-2013 | #3 |
Ветеран Сообщения: 2732
|
Профиль | Отправить PM | Цитировать timbird, Где у Вас расположен файлы и батник? Если на сетевом ресурсе, как Вы написали, туда же хотите (или еще куда-то) поместить newfile.txt, то для правильной работы надо указать полный путь файлов, при этом не важно, где батник находится.
Set info=\\server\mailinfo\info.txt Set New=\\server\mailinfo\newfile.txt Если в папке \\server\mailinfo\ только файлы с информацией по рассматриваемой проблеме, то никакой сложности организовать просмотр всех этих файлов. Если там еще какие-то файлы, тогда надо иметь какой-то критерий их выбора. Если newfile хотите поместить туда же, где и обрабатываемые, то лучше его назвить не newfile.txt а, например, newfile.log. Или разместить в другой папке. Если в путях (именах) файлов, которые вы указываете в батнике, содержатся русские буквы, тогда батник должен быть написан в 866 кодировке. Вот вариант, когда Вы хотите просматривать много файлов (при условии, что в папке с расширениями .txt все информационные и иных с этим расширением нет) @Echo Off Set info=E:\ddddd\Test 1\*.txt Set New=E:\ddddd\Test 1\newfile.log Del "%New%" 2>nul SetLocal EnableExtensions EnableDelayedExpansion For %%f In ("%info%") Do ( FOR /F "usebackq delims=" %%s IN ("%%f") DO ( Set SS=%%s Set SS=!SS:User : =! If Not "%%s"=="!SS!" Set Log=!SS! Set SS=%%s Set SS=!SS:Password : =! If Not "%%s"=="!SS!" Echo !Log! !SS!>>"%New%" ) ) Проверено, работает, в том числе и с сетевыми путями. |
------- Последний раз редактировалось megaloman, 29-04-2013 в 18:37. Причина: Корректировка по замечанию timbird Отправлено: 10:21, 27-04-2013 | #4 |
Пользователь Сообщения: 57
|
Профиль | Сайт | Отправить PM | Цитировать megaloman, Я понял почему у меня не срабатывало, при вставке примера в первом сообщении удалились дополнительные пробелы между наименованием строки и значением.
Вот в таком формате на самом деле создается файл: mail.txt Надо в коде изменить искомые "User : " и "Password : ", на такие как создаются в файле со всеми пробелами) Спасибо за пояснения в конце)) Все работает! GENIUS! ) ПыСы Еще момент может оказаться очень важным: В конечном файле newfile.log, в конце каждой строчки после пароля добавляется пробел, чтобы было без пробела удаляем его в коде после !SS! Спасибо за помощь, megaloman! |
|
Последний раз редактировалось timbird, 29-04-2013 в 12:23. Отправлено: 11:42, 29-04-2013 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2007 - В MS Outlook 2007/2010 собрать адреса со всех писем в папку "контакты" | it-dude | Microsoft Office (Word, Excel, Outlook и т.д.) | 0 | 14-01-2013 10:43 | |
Прочее - пароли подключенных компов к локалке не работает | r-studio | Сетевое оборудование | 0 | 08-10-2012 23:02 | |
Сколько компов надо человеку? | ALLY | Флейм | 33 | 02-03-2012 19:09 | |
Пароли для всех пользователей | Deskin | Microsoft Windows NT/2000/2003 | 10 | 20-03-2009 09:49 | |
Интернет - Пароли учётных записей почты Windows в Windows Vista | pochtaliion | Microsoft Windows Vista | 0 | 26-01-2009 00:49 |
|