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

Название темы: Поиск строки в файле
Показать сообщение отдельно

Пользователь


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

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


Elven, а почему "if errorlevel 0" ? Так всегда будет выполняться только ветка внутри скобок.
Надо заменить на "if not errorlevel 1".
По крайней мере, вплоть до XP это так, поскольку команда вида "if errorlevel ..." проверяет не на точное равенство errorlevel указанному значению, а на "больше или равно".
Или можно написать "if %errorlevel%==0". Тогда проверка будет на равенство.
Таким образом, приходим к варианту:

ping -w 200 -n 2 server >x
find "TTL" x
if errorlevel 1 (echo No server) else (
%windir%\explorer.exe /n, \\server
exit /b
)

Поясню: я заменил "if not errorlevel 1" на "if errorlevel 1" с перестановкой веток, чтобы понятнее было, что написано. Потому что "if errorlevel 1" явно указывает на присутствие ошибки (при поиске строки) и на обработку этой ошибки, и не приходится мысленно переворачивать "ошибку" в "не-ошибку".

Последний раз редактировалось Гуллипут, 05-11-2013 в 21:01.


Отправлено: 20:54, 05-11-2013 | #5

Название темы: Поиск строки в файле