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

Показать сообщение отдельно

Ветеран


Contributor


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

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


я ищу строки в текстовом файле и в них ищу пароль между двумя определёнными одинаковыми словами.
Код: Выделить весь код
@Echo Off
cls
Set "FileIn=Z:\Box_In\У попа была собака.txt"

Call :Password "%FileIn%" "error" "Pass"
Echo "%Pass%"

Pause
GoTo :Eof

:Password
	FOR /F "usebackq delims=" %%s IN (%1) DO Call :PassIn "%%s" %2 %3 &&GoTo :Eof
GoTo :Eof
:PassIn
	SetLocal
	Set "Dlm=▒"
	Set "Str=a %~1 a" &Set "Teg= %~2 "
	Call Set "Str=%%Str:%Teg%=%Dlm%%%"
	FOR /F "tokens=2,3 delims=%Dlm%" %%i IN ("%Str%") DO If Not "%%j"=="" (EndLocal &Set "%~3=%%i" &Exit /B 0)
EndLocal &(Set "%~3=" &Exit /B 1)
В качестве вспомогательного разделителя я здесь указал символ ▒
то есть символ ASCII с десятичным кодом 177.
Set "Dlm=▒"
естественно, можно указать любой допустимый, но гарантированно отсутствующий в тексте

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 08-02-2018 в 22:20.

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

Отправлено: 22:01, 08-02-2018 | #12