|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Поиск слов по маске |
|
CMD/BAT - [решено] Поиск слов по маске
|
Новый участник Сообщения: 44 |
Профиль | Отправить PM | Цитировать Увидел забавную картинку и задался вопросом.
Как в смд искать слова по маске? Посмотреть картинку
Тут зашифровано слово ХИТРЕЦ. Соответственно из текстового файла со списком всех русских слов хочу по маске ?и???ц найти слово хитрец Я так понял что нативные find и findstr так не умеют. Какой программой под смд можно найти слова по маске? Может grep умеет? |
|
Отправлено: 17:26, 24-01-2020 |
Новый участник Сообщения: 44
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
Картинко
Ищет хорошо но обнаружилась проблема. Когда я ему подсунул словарь побольше скрипт без признаков жизни по 10 минут думал а потом только показывал гуи. В общем если ещё раз возникнет нужда искать по маске буду использовать ПоШ. Ну или МС адаптирует findstr для utf8. |
|
Отправлено: 09:39, 01-02-2020 | #31 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата ateka:
Цитата megaloman:
Цитата ateka:
|
|||
Отправлено: 12:04, 01-02-2020 | #32 |
Ветеран Сообщения: 2726
|
Профиль | Отправить PM | Цитировать Iska, что-то надо в консерватории поменять, и скрипт и словарь я отдавал в архиве в нужной кодировке, а на экране сплошная непристойность. Есть паллиатив - сделать сообщения на английском, но, при русском словаре это не фэншуйно.
ateka, а побольше - это сколько? |
------- Отправлено: 12:49, 01-02-2020 | #33 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 14:01, 01-02-2020 | #34 |
Новый участник Сообщения: 44
|
Профиль | Отправить PM | Цитировать |
Отправлено: 14:33, 01-02-2020 | #35 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать ateka, упакуйте его в архив и выложите на облако.
|
Отправлено: 15:48, 01-02-2020 | #36 |
Новый участник Сообщения: 44
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Конвертировал Файл: https://femto.pw/4tzb.rar |
|
Отправлено: 18:54, 01-02-2020 | #37 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать ateka, а зачем Вы вообще конвертировали файл, который изначально шёл в ANSI/1251?! Не конвертируйте. И попросите коллегу megaloman убрать конвертацию ANSI→UTF8 из кода.
Ну, и: Цитата ateka:
|
|
Отправлено: 19:16, 01-02-2020 | #38 |
Новый участник Сообщения: 44
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Кстати и решение с экселем было отличным. Эксель самый быстрый и удобный. Цитата Iska:
Но ждать приходиться больше десяти минут. Данная технология на моей машинке ленится. Цитата Iska:
Как я уже указывал я менял системные настройки на UTF8 суппорт. |
|||
Отправлено: 19:55, 01-02-2020 | #39 |
Ветеран Сообщения: 2726
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Не надо просить!!! Уже сделал
FileIn = "Z:\Soft_Arc\Словарь\1251.txt" nword = 3 On Error Resume Next Set FSO = CreateObject("Scripting.FileSystemObject") On Error Resume Next With FSO.OpenTextFile(FileIn, 1, False) If Err.Number <> 0 Then MsgBox "File " + FileIn + vbCrLf + Err.Description + "(" + CStr(Err.Number) + ")" WScript.Quit 2 End If On Error GoTo 0 Alls = Split(.ReadAll, vbCrLf) .Close End With On Error GoTo 0 With CreateObject("VBScript.RegExp") .IgnoreCase = True .Global = True Mask = "" Do Mask = InputBox("Маска содержит русские буквы и точки, например" + vbCrLf + ".и...ц", "Поиск слов по маске", Mask) If Mask = "" Then Exit Do .Pattern = "^" + Trim(Mask) + "$" out = "" i = 0 For Each word In Alls word = Trim(word) If .Test(word) Then If i = 0 Then out = out + word Else out = out + vbTab + word i = i + 1 If i = 3 Then i = 0 out = out + vbCrLf End If End If Next If out = "" Then R = MsgBox("По маске " + """" + Mask + """" + vbCrLf + "Ничего не найдено", vbRetryCancel) Else R = MsgBox(out, vbRetryCancel, "Маска " + """^" + Trim(Mask) + "$"". Найдено:") End If If R = 2 Then Exit Do Loop End With Кстати, findstr и словарь в 866 кодировке работает в 3 раза быстрее. Мой Excel это кол-во строк не съел. Не знаю, может в настройках можно нашаманить. |
|
------- Отправлено: 20:00, 01-02-2020 | #40 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - Множественная замена слов по маске на случайные. | artjuice | Скриптовые языки администрирования Windows | 2 | 09-12-2015 19:10 | |
CMD/BAT - Поиск файлов по маске на удаленных машинах по словарю с выгрузкой в *.txt | gremlintv2 | Скриптовые языки администрирования Windows | 3 | 09-12-2013 04:46 | |
Поиск слова в txt затем поиск по маске "(383)" и вывод инфы | rustoss | AutoIt | 10 | 29-09-2011 15:27 | |
CMD/BAT - [решено] Поиск файла по маске и по дате | Баян | Скриптовые языки администрирования Windows | 2 | 14-03-2011 13:32 | |
Поиск слов не по документу, а по документам :) | Sev | Хочу все знать | 4 | 26-01-2009 12:41 |
|