none
Задачка на Powershell (парсинг дирректорий) RRS feed

  • Вопрос

  • Доброго дня!

    Помогите решить задачку.

    Условия следующие:

    1. Папка, допустим \\server01\Сотрудники

    2. В папке лежит:

    ФИО Сотрудника (Иванов И.И.) Соответственно их много.

    3. В каждой папке с ФИО сотрудника лежат папки:

    Клиент 1 (Васильев А.А)

    Клиент 2 (Рогозин П.Р.)

    и т.п.

    4. В каждой подпапке лежит протокол общения с клиентом (файл .doc) типа Васильев А.А 31.11.2013.doc

    Что нужно: получить табличку:

    ФИО Сотрудника,  Имя клиента, Дата создания каждого файла, Полный путь к файлу.

    Желательно выгрузить это все в excel.

    Заранее громадное спасибо, ибо я не справлюсь в обозримые сроки.


    18 ноября 2013 г. 11:31

Ответы

  • Get-ChildItem \\server01\Сотрудники -Directory | Foreach {
        $r = $_.Name 
        Get-ChildItem $_.FullName -Filter *.doc -Recurse | 
            Select @{n="ФИО Сотрудника";e={$r}},
            @{n="Имя клиента";e={$_.Directory.Name}},
            @{n="Дата создания";e={$_.CreationTime}},
            @{n="Полный путь";e={$_.FullName}}
        } | Export-Csv -Path result.csv -Encoding UTF8 -UseCulture

    • Предложено в качестве ответа Svolotch 19 ноября 2013 г. 10:25
    • Помечено в качестве ответа KazunEditor 20 ноября 2013 г. 5:23
    18 ноября 2013 г. 11:59
    Отвечающий

Все ответы

  • Get-ChildItem \\server01\Сотрудники -Directory | Foreach {
        $r = $_.Name 
        Get-ChildItem $_.FullName -Filter *.doc -Recurse | 
            Select @{n="ФИО Сотрудника";e={$r}},
            @{n="Имя клиента";e={$_.Directory.Name}},
            @{n="Дата создания";e={$_.CreationTime}},
            @{n="Полный путь";e={$_.FullName}}
        } | Export-Csv -Path result.csv -Encoding UTF8 -UseCulture

    • Предложено в качестве ответа Svolotch 19 ноября 2013 г. 10:25
    • Помечено в качестве ответа KazunEditor 20 ноября 2013 г. 5:23
    18 ноября 2013 г. 11:59
    Отвечающий
  • Огромнейшее спасибо!
    18 ноября 2013 г. 12:35