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

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

Старожил


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

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


Iska, благодарю
вот как должно быть(показательный вариант )))

Код: Выделить весь код
@ECHO OFF
for /f "tokens=*" %%a in ('type "Check.txt" ^| findstr.exe /r /x /c:"Возможность применения :.*"') DO (
set str1=%%a
if not "%%a" == "Возможность применения : Да" goto move1
goto next1
)
:next1
for /f "tokens=*" %%b in ('type "Check.txt" ^| findstr.exe /r /x /c:"Состояние :.*"') DO (
set str2=%%b
if not "%%b" == "Состояние : Отсутствует" goto move2
goto next
)

:move1
echo move1
echo %str1%
goto next
pause

:move2
echo move2
echo %str2%
goto next
pause

:next
ECHO Нажмите любую кнопку для выхода
PAUSE>nul
Вопрос:
Что значит ^ перед | findstr.exe
Цитата Iska:
1. Пропущены ключевые слова «in» в «for /f …».
2. «%a%» и «%b%» раскрываются при входе в скобки «(…)». Нужно использовать отложенное раскрытие: «setlocal enableextensions enabledelayedexpansion» в начале пакетного файла, и «!a!»/«!b!» внутри скобок.
3. Здесь: »
1.странно как я умудрился пропустить
2.спасибо,буду знать и наконец пойму некоторый код
3.да я ошибся,next
ps:+мешало /i в if (видимо надо перед not,но в люом случае можно обойтись т.к. регистр всегда один)
и спс за трюк с type

я конечно изобретаю велосипед но
1.изучаю cmd
2.я знаю что делает мой код(чужой код не известен)

Последний раз редактировалось nfs911, 31-07-2013 в 20:06.


Отправлено: 20:00, 31-07-2013 | #5