res2001
Silver Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору BVV63 Цитата: Более того, после перенаправления батник отказывается напрочь работать с %ErrorLevel% (Echo %ErrorLevel%, а в ответ - тишина). Как после перенаправления вернуть всё на круги своя? | После перенаправления значение errorlevel по любому будет уже не верно, оно будет тем, что установила команда find, а не net time. Я бы посоветовал с net time отправлять в файл >>nettime.log, а потом уже разбирать этот лог findом. Цитата: "Net Time" не изменяет переменную "ErrorLevel" в случае неудачной попытки синхронизации времени. Поэтому я использовал такую схему: "Net Time ... || Set ErrorLevel=1", для дальнейшей обработки ошибки (ну, или можно после || обрабатывать её сразу без промежуточной "ErrorLevel"). | 1.Руками errorlevel устанавливать не стоит. Если уж так хочется заведи переменную с другим именем. 2.действительно, лучше обрабатывать сразу. 3.раз уж net time не устанавливает значение errorlevel, то, по моему, и оператор || будет отрабатывать не верно. Похоже команда net действует аналогично sc, т.е. сама она фактически ничего не делает, а дает команду соответствующим службам. Если у службы ничего не получилось, это еще не означает, что net выполнилась с ошибкой. |