|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Наличие текста с условиями в PS |
|
PowerShell - [решено] Наличие текста с условиями в PS
|
Новый участник Сообщения: 29 |
Профиль | Отправить PM | Цитировать Друзья, здравствуйте.
Помогите пожалуйста, сам не могу сообразить. Необходимо написать код с следующими условиями: Есть файл Q:\file.xml необходимо читать этот файл и если в нём есть текст "version 7,2", то if , а если данного текста в этом файле нет то else Подскажите пожалуйста. Спасибо! |
|
Отправлено: 07:44, 20-06-2017 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Если «version 7,2» гарантированно а) уникальна и б) будет размещена в одной строке, и если кодировка не окажется UTF-16 или экзотичней — достаточно простого Select-String.
Как обычно: если бы Вы упаковали file.xml в архив и приложили таковой к сообщению — было бы точнее. |
Отправлено: 07:56, 20-06-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Цитата Iska:
xml файл не обязательно вкладывать, вот всё его содержимое: Цитата:
|
||
Отправлено: 08:12, 20-06-2017 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Luka666:
$sSourceFile = 'C:\Мои проекты\0089\file.xml' if(Test-Path -Path $sSourceFile -PathType Leaf) { if(Select-String -Path $sSourceFile -Pattern '17.6.7.1' -SimpleMatch -Quiet) { Write-Host "Found" } else { Write-Host "Not found" } } else { Write-Host "Can't find source file [$sSourceFile]." -ForegroundColor Red } |
|
Отправлено: 08:32, 20-06-2017 | #4 |
Забанен Сообщения: 793
|
[xml]$xml = (gc .\source.xml -ea 0) # версии сравниваются как строки if ($xml -ne $null -and $xml.systemMetadata.version -eq '17.6.7.1') { 'do something' } # можно сравнивать именно как версии [version]$a = $null [version]$b = New-Object Version('17.6.7.1') # эталонная версия if ([version]::TryParse($xml.systemMetadata.version, [ref]$a)) { if ($a -eq $b) { 'do something' } } |
|
Отправлено: 08:42, 20-06-2017 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать greg zakharov, здесь:
Цитата greg zakharov:
|
|
Отправлено: 08:50, 20-06-2017 | #6 |
Забанен Сообщения: 793
|
Iska, это просто пример.
|
Отправлено: 09:48, 20-06-2017 | #7 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Спасибо. Помогло. Воспользовался просто строками, как наиболее простым решением.
|
Отправлено: 13:20, 20-06-2017 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Лучше воспользуйтесь этим:
Цитата greg zakharov:
|
|
Отправлено: 13:47, 20-06-2017 | #9 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Наличие текста с условиями | POSTREALITY | Скриптовые языки администрирования Windows | 15 | 26-05-2016 20:33 | |
CMD/BAT - [решено] проверка наличие определенного текста в файлах | shmel_sv@vk | Скриптовые языки администрирования Windows | 11 | 15-07-2015 11:15 | |
CMD/BAT - вставка текста в *.PS (DOS кодировка) в нужную строку и столбец | lexis1980 | Скриптовые языки администрирования Windows | 5 | 31-08-2012 09:00 | |
CMD/BAT - Как проверить наличие текста в файле | mamont1 | Скриптовые языки администрирования Windows | 6 | 16-09-2010 16:32 | |
CMD/BAT - Проверка на наличие какого-то текста | Magniy | Скриптовые языки администрирования Windows | 4 | 20-04-2010 18:26 |
|