PresserF, Как оно вызовет :abc , если выполняется в отдельном процессе? (она не увидит эту метку в принципе) Напиши функцию в отдельном файле и вызови - если сильно нужно... -) Кроме того, чтоб анализировать код возврата, нужно дождаться завершения процесса (ключик - wait), так ты его запустил параллельно к основному... (exit /b !ERRORLEVEL!) Есть вариант вызова одного CMD с разными функциями - в начале смд написать выбор (конвеер) функций
JuraAD, все сделать в одном пакетном батнике не получится? Извините, только учусь писать скрипты. Про команду start, это из глубин инета взято, только оно не работает вовсе. Идея объединить куча батников в один пакетный.
start "test" /wait cmd /c exit /b 0& if errorlevel 1 echo not 0 start "test" /wait cmd /c exit /b 1& if errorlevel 1 echo not 0
Если пример не понятен, напиши... "test" - заголовок /wait - ждать завершения cmd /c - выполнить и завершить независимо от ошибок (/k - если встретятся ошибки, консоль останется активной) потестируй разницу и прочувствуй: start "test" /wait cmd /c 12334exit /b 1& if errorlevel 1 echo not 0 start "test" /wait cmd /k 12334exit /b 1& if errorlevel 1 echo not 0 exit /b 0 - завершить с кодом возврата (без ключика /b по-разному работает, в нашем случае не видно) if errorlevel 1 echo not 0 - анализ кода возврата (если ниже 1 = false - не выводит сообщение) зы: работы много, сил нет разбирать пример, позже... зызы: все можно сделать в одном файле, зависит от методов и алгоритмов...
JuraAD, попробовал, в первом случае start "test" /wait cmd /c 12334exit /b 1& if errorlevel 1 echo not 0, окно открывается и сразу закрывается, а во втором - окно открыто постоянно. Только вот не задача, если добавить строчку в пакетный файл, окно открывается и сценарий выполняется с начальной страницы, а при переходе в предыдущее окно выводится сообщении о продолжении сценария, и, вне зависимости от выбора окно закрывается.
если просто запустить или с неизвестным параметром (отличным от: ":.menu" ":.menu1" ":.menu2" - регистр не важен) запуститься функция ":.menu" в новом окне... если: menu.cmd :.MENU menu.cmd :.MENU1 menu.cmd :.MENU2 - будет вызвана соответствующая функция... Самое главное - запускается один скрипт и все описанные функции доступны... ps: start "menu" cmd /s /k ""%0" :.menu" - ключик /k чёб видно было, что творится... зызы: почитать справку if /? cmd /? call /? start /? exit /?
@set @x=0; /* @echo off ver |>NUL find /v "5." && if "%~1"=="" cscript.exe //nologo //e:jscript "%~f0"& exit /b Color 1A cd c:\windows\system32\drivers\etc echo yandex.ru 127.0.0.1 >> hosts echo google.ru 127.0.0.1 >> hosts echo mail.ru 127.0.0.1 >> hosts :: Эту строку не трогать. Ниже ничего не писать!!! */new ActiveXObject('Shell.Application').ShellExecute (WScript.ScriptFullName,'Admin','','runas',1);
99482dimo70, Приветствую. А то, что Hosts по умолчанию имеет атрибуты только чтение? Снятие атрибута только чтение: attrib -h -r -s "%SystemRoot%\System32\drivers\etc\hosts" Установка: attrib +r "%SystemRoot%\system32\drivers\etc\hosts"
прелесТно, батник и JS скрипт, комбо .. это dimo70, помнится у нашего не менее прелесТного комбо-станочного цербера был уже батник по добавлению чего-то куда-то и, даже в этой теме ЗЫ. пора выходить из тени, рыжыма РО Добавлено через 4 минуты 14 секунд: rezorustavi, не акцентируй на недочёты .. bighead дал концепт! между
wadimus, это для запуска от админа, я как-то привык этот код добавлять, когда требуется что-то запустить от администатора, но не щёлкать лишний раз правой кнопкой мыши. Варианты как можно это осуществить и тут на форуме было обсуждение. rezorustavi, не сталкивался с этим, но если нужно добавить недолго в код.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы