Да, повершеллом прошел, нашел, всем спасибо.
Если кому пригодится вот скрипт.
# ==========================================
# ПОИСК ТЕКСТА В ФАЙЛАХ
# ==========================================
# 1. Запрашиваем путь к папке (если нажать Enter, будет искать в текущей папке)
$targetPath = Read-Host "Введите путь к папке (нажмите Enter для текущей)"
if ([string]::IsNullOrWhiteSpace($targetPath)) { $targetPath = "." }
# 2. Запрашиваем текст для поиска
$searchText = Read-Host "Что искать (например, %potion_button%)"
if ([string]::IsNullOrWhiteSpace($searchText)) {
Write-Host "Ошибка: Вы не ввели текст для поиска." -ForegroundColor Red
Pause
exit
}
Write-Host "`nЗапускаю поиск '$searchText' в '$targetPath' и всех подпапках...`n" -ForegroundColor Cyan
# 3. Выполняем поиск
# -Recurse: искать во вложенных папках
# -SimpleMatch: искать точный текст (не использовать регулярные выражения), важно для символов типа % $ *
$results = Get-ChildItem -Path $targetPath -Recurse -File -ErrorAction SilentlyContinue |
Select-String -Pattern $searchText -SimpleMatch
# 4. Вывод результатов
if ($results) {
# Группируем по файлу, чтобы не дублировать имя файла, если слово встречается там 10 раз
$uniqueFiles = $results | Select-Object Path -Unique
Write-Host "Найдено в следующих файлах:" -ForegroundColor Green
foreach ($file in $uniqueFiles) {
Write-Host $file.Path
}
Write-Host "`nВсего найдено совпадений: $($results.Count) в $($uniqueFiles.Count) файлах." -ForegroundColor Yellow
# Если хочешь видеть конкретные строки, раскомментируй строку ниже:
# $results | Select-Object Filename, LineNumber, Line | Format-Table -AutoSize
}
else {
Write-Host "Ничего не найдено." -ForegroundColor Red
}
Write-Host "`nГотово."
Pause