![Компьютерный форум OSzone.net](images/oszone.net.print.gif) |
|
изменение скрипта для подключения к интернету
PHP код:
Title Подключение
call :make_dialup
echo Подключение виртуального диска
"%PROGRAMFILES%\TrueCrypt\TrueCrypt.exe" /v d:_topHCCacheHCdisk.tc /p HC /l z /s /q
echo Starting HandyCache
start HandyCache.lnk
start miranda.lnk
goto EOF
:EOF
echo.
echo Выходим...
ping 127.0.0.1 -n 2 > nul
exit
:make_dialup
echo Устанавливаем DialUp подключение
rasdial life > nul
if %ERRORLEVEL%==0 (
echo Ok!
) else (
if %ERRORLEVEL%==734 (
echo Ошибка! Удаленный комп отказал.
) else (
if %ERRORLEVEL%==720 (
echo Ошибка! Удаленный комп не отвечает.
) else (
if %ERRORLEVEL%==797 (
echo Ошибка! Модем не найден или занят.
) else (
echo Ошибка с кодом %ERRORLEVEL%
)
)
)
)
if %ERRORLEVEL% GTR 0 (
ping 127.0.0.1 -n 6 > nul
)
Привел кусок скрипта, который я использую для подключению к интернету. В нем есть проблема, если перенести метку :EOF в конец то работа нарушаеться, следовательно вопрос, как заставить скрипт возвращаться после обработки метки :make_dialup к тому месту где она была вызвана? (както непонятно выразился, надеюсь поймете что имею ввиду)
И еще, вот эта вложенность операторов else, это нормально или есть какой более грамотный способ?
|
Отвечаю сам на свой вопрос :) метку :EOF нужно удалить с содержимым, и поставить ":" в goto :EOF.
Вопрос по вложенности else остаеться.
И еще, как сделать два вывода echo в одну строку?
например чтобы код:
PHP код:
echo Устанавливаем DialUp подключение...
rasdial life > nul
if %ERRORLEVEL%==0 echo Ok!
вывел бы такое:
PHP код:
Устанавливаем DialUp подключение... Ok!
|
Цитата:
Цитата njg
как сделать два вывода echo в одну строку? »
|
Код:
@Echo Off
<Nul Set /P $VAR=Устанавливаем DialUp подключение...
RasDial life >Nul
If ErrorLevel 1 (Echo Error!) Else (Echo Ok!)
|
El Sanchez |
20-08-2009 21:32 1198739 |
njg,
Ну что-то типа такого:
Код:
@echo off
Title Подключение
call :make_dialup
echo Подключение виртуального диска...
start "" "%PROGRAMFILES%\TrueCrypt\TrueCrypt.exe" /v d:_topHCCacheHCdisk.tc /p HC /l z /s /q
echo Запуск HandyCache...
start HandyCache.lnk
echo Запуск Miranda...
start miranda.lnk
echo.
echo Выходим...
ping 127.0.0.1 -n 2 > nul
goto :EOF
:make_dialup
<nul set /p $var=Устанавливаем DialUp подключение...
rasdial life>nul&&echo OK!
if %ERRORLEVEL%==734 echo Ошибка! Удаленный комп отказал.
if %ERRORLEVEL%==720 echo Ошибка! Удаленный комп не отвечает.
if %ERRORLEVEL%==797 (echo Ошибка! Модем не найден или занят.) else (echo Ошибка с кодом %ERRORLEVEL%)
if %ERRORLEVEL% GTR 0 ping 127.0.0.1 -n 6 > nul
P.S. amel27, Символ $ в имени переменной как-то влияет на нее или это сделано для удобства, чтобы видеть в коде где переменная, а где котлеты с мухами? :)
|
Цитата:
Цитата El Sanchez
Символ $ в имени переменной как-то влияет на нее или это сделано для удобства »
|
- для удобства, "чтобы видеть";
- чтобы случайно не пересечься с системными переменными (PATH/DATE/...);
- унификация синтаксиса скриптов (aka AutoIT/PowerShell).
|
Время: 13:18.
© OSzone.net 2001-