alpap, Краткость, несомненно, сестра таланта

Но если текст будет вида "error password error garbage test text blabla" либо "fast slow error password error" Ваш батник отработает неверно.
Предлагаю длиннее, но с учетом этих имхо возможных случаев. Как и у Вас, батник работает в предположении, что между error и password не более одного пробела
Код:

@Echo Off
cls
Set "Str=fast slow error password error garbage test text blabla"
Call :Password "%Str%" "error" "Pass"
Echo "%Pass%"
Pause
GoTo :Eof
:Password
SetLocal
Set "Dlm=ё"
Set "Str=a %~1 a" &Set "Teg= %~2 "
Call Set "Str=%%Str:%Teg%=%Dlm%%%"
EndLocal &FOR /F "tokens=2,3 delims=%Dlm%" %%i IN ("%Str%") DO If Not "%%j"=="" (Set "%~3=%%i") Else (Set "%~3=")
GoTo :Eof
В качестве вспомогательного разделителя я здесь указал ё, естественно, можно указать любой допустимый.
Set "Dlm=ё"
Однако, реально я тестировал батник с символом, который на клавиатуре пользователь, не обременённый излишними знаниями, не введёт. Например, символ ASCII с десятичным кодом 177. Я не смог разместить на форуме батник с этим символом (ломается весь текст сообщения), поэтому вынужденно указал ё.
Опять же, имхо выделение пароля - не основная цель в неизвестном нам батнике, поэтому я это оформил в виде процедуры, чтобы не загромождать основной текст кода
Простите, если излагаю известное
Чтобы вставить в текст символ ASCII с определённым десятичным кодом, надо на цифровой клавиатуре, удерживая клавишу Alt, набрать нужный код