|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Поиск через PS по значениям из EXCEL |
|
PowerShell - Поиск через PS по значениям из EXCEL
|
Новый участник Сообщения: 5 |
Всем привет. Не специалист в 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 |
Crazy Сообщения: 1231
|
Профиль | Отправить PM | Цитировать Цитата olmife:
Позволяет работать с файлами, даже без установки самого Excel... попробуйте - возможно, понравится. |
|
------- Отправлено: 12:54, 21-06-2023 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать да, верно без кавычек.
|
Отправлено: 13:40, 21-06-2023 | #12 |
fascinating rhythm Сообщения: 6668
|
Профиль | Отправить PM | Цитировать ImportExcel
![]() Импортировать файл и потом делать с ним что угодно - искать, переформатировать, фильтровать и т. д. Это в сто раз лучше, чем возюкаться с COM-объектами. Пользуюсь уже несколько лет, на работе все отчёты начальству шлются с помощью этого модуля. Шикарная вещь. |
------- Отправлено: 21:29, 21-06-2023 | #13 |
Пользователь Сообщения: 136
|
Профиль | Сайт | Отправить PM | Цитировать Цитата olmife:
|
|
------- Отправлено: 13:29, 29-06-2023 | #14 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
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 |
|