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

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

Ответить
Настройки темы
Любой язык - Извлечь информацию из файлов .msg

Старожил


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

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


Всем привет!
Имеется папка, в которой много сохраненных писем из Outlook. Расширение .msg
Каким образом можно выдернуть информацию по каждому файлу и сохранить например в txt или csv. Интересует:
1. Тема письма или можно имя файла (они совпадают);
2. Дата сообщения (поле "Отправлено").

Заранее спасибо!

Отправлено: 18:43, 23-12-2015

 

Ветеран


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

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


Выложите пару-тройку *.msg, упаковав их в архив, и укажите для каждого из образцов «Дату сообщения».

Отправлено: 01:06, 24-12-2015 | #2



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

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


Старожил


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

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


В архиве 2 письма.
Даты писем:
Чт 24.12.2015 8:56
Чт 24.12.2015 8:57

Последний раз редактировалось dahiko, 11-02-2016 в 10:51.


Отправлено: 06:28, 24-12-2015 | #3


Ветеран


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

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


PowerShell + Outlook:

Код: Выделить весь код
$outlook = New-Object -comobject outlook.application
Get-ChildItem C:\msg\ -Filter *.msg| ForEach-Object{
    $msg = $outlook.CreateItemFromTemplate($_.FullName)
    $msg | Select senderemailaddress,to,subject,Senton,body
}
Вывод:
Код: Выделить весь код
SenderEmailAddress : dahiko@mail.ru
To                 : Igor Kholstinin
Subject            : Тест1
SentOn             : 12/24/2015 5:56:18 AM
Body               : --
                     Отправлено из Mail.Ru для Android


SenderEmailAddress : dahiko@mail.ru
To                 : Igor Kholstinin
Subject            : Тест2
SentOn             : 12/24/2015 5:56:32 AM
Body               : --
                     Отправлено из Mail.Ru для Android
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:45, 24-12-2015 | #4


Старожил


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

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


Работает, но результат выводится в строки. Как сделать, чтобы выводилось в столбец?
Например:

SenderEmailAddress, To, Subject, SentOn
@mail.ru, Vasya Pupkin, Тест2, 12/24/2015 5:56:32 AM

Отправлено: 13:44, 24-12-2015 | #5


Ветеран


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

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


Код: Выделить весь код
Get-ChildItem C:\msg\ -Filter *.msg| ForEach-Object{
   $outlook.CreateItemFromTemplate($_.FullName)
} | Select senderemailaddress,to,subject,Senton,body | ConvertTo-Csv -NoTypeInformation
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:51, 24-12-2015 | #6


Старожил


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

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


Добавил выгрузку в файл. В итоге получилось так:

Код: Выделить весь код
$outlook = New-Object -comobject outlook.application
Get-ChildItem C:\msg\ -Filter *.msg| ForEach-Object{
   $outlook.CreateItemFromTemplate($_.FullName)
} | Select senderemailaddress,to,subject,Senton | Export-Csv C:\msg\test.txt -Encoding UTF8
Спасибо большое!
Вопрос решен.

Отправлено: 14:23, 24-12-2015 | #7


Ветеран


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

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


Вопрос только со временем. Там случайно даты не по Гринвичу хранятся (по идее, именно в UTC должны)? Не надо ли делать пересчёт на локальное время (у меня под WSH время так же отдавалось в 5 часов, а не в восемь)?
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:38, 24-12-2015 | #8


Аватара для DeathMan2k4

Старожил


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

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


Подскажите, а реально ли извлечь файл прикрепленный ?

-------
MB Intel Extreeme P67; i5-3450; 8gb DDR-III; GF730; 1Tb; 240GB SSD; Windows 10 Pro X64 lic


Отправлено: 09:59, 10-07-2017 | #9


Ветеран


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

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


Выложете Ваши образцы сообщений — попробуем.

Последний раз редактировалось Iska, 10-07-2017 в 10:14.


Отправлено: 10:07, 10-07-2017 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Надо стереть информацию из файлов turbolover Скриптовые языки администрирования Windows 11 23-06-2015 13:44
CMD/BAT - [решено] MSG не является внутренней или внешней командой (при запуске из пакетного файла) Dragokas Скриптовые языки администрирования Windows 8 11-08-2012 06:54
2008 R2 - [решено] Установка через ГП. Сбой операции добавления. Невозможно извлечь информацию о snake-as Windows Server 2008/2008 R2 5 20-07-2012 11:55
.NET - [решено] Как извлечь информацию с одного столбца Excel-документа Marsella_88 Программирование и базы данных 5 25-05-2012 15:46
Разное - Извлечь изображения из папок 7human7 Microsoft Windows 2000/XP 4 06-05-2009 10:29




 
Переход