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

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

Ответить
Настройки темы
PowerShell - Поиск через PS по значениям из EXCEL

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


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

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


Всем привет. Не специалист в PS, но очень требуется автоматизация и запилил, что смог.
Задача:
Необходимо из EXCEL значения ячейки брать параметры для поиска файлов на диске (значения там периодически разные типа : "ivanov.txt","petrov.txt", "sidorov.txt" и т.д список может быть очень большой), после чего производится поиск определенного текста в найденных файлах.
Параметр для -Include берем Из ячейки excel

$Excel = New-Object -ComObject Excel.Application
$WorkBook = $Excel.Workbooks.Open("C:\Users\admin\Documents\test.xlsx")
$WorkSheet = $WorkBook.Sheets.Item("sheet")
$users = $Worksheet.Range("a1").Value2
Get-Content -Path "C:\Users\admin\search\*" -Include "$users" | Select-String -SimpleMatch "{какой-то текст}"

Проблема в чем, если значение в ячейке ivanov.txt тогда поиск по одному файлу нормально работает, если значение ivanov.txt","petrov.txt", "sidorov.txt то ошибка:
Объект для указанного пути C:\Users\admin\search\* не существует или отфильтрован с помощью параметра -Include или -Exclude."

Если делать поиск вручную, все работает:
Get-Content -Path "C:\Users\admin\search\*" -Include " ivanov.txt","petrov.txt", "sidorov.txt " | Select-String -SimpleMatch "{какой-то текст}"

Прошу помочь c решением.
Также можно написать функцию с перебором ячеек, т.к. пользователи идут по порядку, после чего объединяются в одну строку для поиска через функцию объединения ячеек. Только надо учитывать, что исходное значение бывает разное, то 10 то 50 пользователей и если делать перебор в скрипте PS, то в параметр будут передаваться пустые значения и опять выдавать ошибку.

Отправлено: 15:21, 20-06-2023

 

Аватара для YuS_2

Crazy


Contributor


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

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


Цитата olmife:
New-Object -ComObject Excel.Application »
Есть хороший модуль: https://github.com/dfinke/ImportExcel
Позволяет работать с файлами, даже без установки самого Excel... попробуйте - возможно, понравится.

-------
scio me nihil scire. Ѫ

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:54, 21-06-2023 | #11



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

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


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


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

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


да, верно без кавычек.

Отправлено: 13:40, 21-06-2023 | #12


Аватара для DJ Mogarych

fascinating rhythm


Moderator


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

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


ImportExcel
Импортировать файл и потом делать с ним что угодно - искать, переформатировать, фильтровать и т. д. Это в сто раз лучше, чем возюкаться с COM-объектами.
Пользуюсь уже несколько лет, на работе все отчёты начальству шлются с помощью этого модуля. Шикарная вещь.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:29, 21-06-2023 | #13


Аватара для Pavel Nagaev

Пользователь


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

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


Цитата olmife:
Всем привет. Не специалист в PS, но очень требуется автоматизация и запилил, что смог.
Задача:
Необходимо из EXCEL значения ячейки брать параметры для поиска файлов на диске (значения там периодически разные типа : "ivanov.txt","petrov.txt", "sidorov.txt" и т.д список может быть очень большой), после чего производится поиск определенного текста в найденных файлах.
Параметр для -Include берем Из ячейки excel »
Вы бы файл показали, было бы быстрее и полезнее.

-------
Видео на русском про PowerShell
Крутые курсы по PowerShell


Отправлено: 13:29, 29-06-2023 | #14



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
PowerShell - скрипт отключения пользователей из Exel в AD через PS yuriy.nepomnyashchiy.3@fb Скриптовые языки администрирования Windows 31 12-07-2017 17:25
CMD/BAT - [решено] Поиск по значениям реестра dosperados Скриптовые языки администрирования Windows 7 19-03-2015 05:49
PowerShell - [решено] Поиск по значениям реестра dosperados Скриптовые языки администрирования Windows 21 18-03-2015 12:52
2007 - Макрос Excel поиск по листам в книге с условием muradasilov Microsoft Office (Word, Excel, Outlook и т.д.) 2 26-02-2013 17:32




 
Переход