Имя пользователя:
Пароль:
 

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

Ветеран


Contributor


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

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


Patroklos,
Если текст в 1251 кодировке и батник сохранить в 1251 кодировке, вроде бы так работает
Код: Выделить весь код
@Echo Off
cls
chcp 1251 >nul
Set "FileIn=Z:\Box_In\У попа была собака.txt"

Call :Password "%FileIn%" "ошибка" "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)
Надо только вспомогательный символ-разделитель подрбрать.

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


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

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

Отправлено: 22:43, 09-02-2018 | #16