Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Автозапуск программ при включении флешки (http://forum.oszone.net/showthread.php?t=141112)

Medic84 26-05-2009 18:13 1128069

Автозапуск программ при включении флешки
 
Код:

@Echo off
echo Запуск программ
echo Запуск Оперы =)
echo Запустить 1, Отменить 2.
Set /P Ch=Сделайте выбор:
If "%Ch%"=="1" (
    echo Идет запуск...
    call "%~dp0\Portable\Opera_Portable\Opera10Portable.exe
)

If "%Ch%"=="2"
goto :2
:2
echo Запуск QIP =)
echo Запустить 1, Отменить 2.
Set /P Ch=Сделайте выбор:
If "%Ch%"=="1" (
    echo Идет запуск...
    call "%~dp0\Portable\QIP\qip.exe
)
If "%Ch%"=="2"
goto :3
:3
echo Запуск V-Talking =)
echo Запустить 1, Отменить 2.
Set /P Ch=Сделайте выбор:
If "%Ch%"=="1" (
    echo Идет запуск...
    call "%~dp0\Программы\V-Talk\VTalking.exe
)
If "%Ch%"=="2"
goto :4
:4
echo Запуск Miranda =)
echo Запустить 1, Отменить 2.
Set /P Ch=Сделайте выбор \:
If "%Ch%"=="1" (
    echo Идет запуск...
    call "%~dp0\Программы\Miranda\miranda32.exe
)
If "%Ch%"=="2"
goto :eof

Собственно код программы. Но проблема возникла в запуске. Выполняется только запуск оперы. А остальных программ по списку-нет. Не поможете оптимизировать? Расскажу что мне нужно. Мне нужно запустить программу и продолжить запуск остальных по списку или отменить запуск и опять продолжить последовательность, и так в каждом цикле.

gora 26-05-2009 18:58 1128095

Medic84, попробуйте заменить везде Call на Start так:
Код:

    Start "" "%~dp0\Portable\Opera_Portable\Opera10Portable.exe"
Метки, если мне не изменяет память, не должны начинаться с цифры, замените их на "буквенные" или "буквенно-цифровые", но буква впереди.

Medic84 26-05-2009 19:08 1128106

gora, чуть чуть не то... в том то и дело что программы работают! Но работает только первая, после чего окно закрывается. А если нажать 2, то окно просто закрывается, не выполняя последующих действий...

gora 26-05-2009 19:09 1128110

Попробуйте так:
Код:

@Echo off
echo Запуск программ
echo Запуск Оперы =)
echo Запустить 1, Отменить 2.
Set /P Ch=Сделайте выбор:
If "%Ch%"=="1" (
    echo Идет запуск...
    Start "" "%~dp0\Portable\Opera_Portable\Opera10Portable.exe"
)
echo Запуск QIP =)
echo Запустить 1, Отменить 2.
Set /P Ch=Сделайте выбор:
If "%Ch%"=="1" (
    echo Идет запуск...
    Start "" "%~dp0\Portable\QIP\qip.exe"
)
echo Запуск V-Talking =)
echo Запустить 1, Отменить 2.
Set /P Ch=Сделайте выбор:
If "%Ch%"=="1" (
    echo Идет запуск...
    Start "" "%~dp0\Программы\V-Talk\VTalking.exe"
)
echo Запуск Miranda =)
echo Запустить 1, Отменить 2.
Set /P Ch=Сделайте выбор:
If "%Ch%"=="1" (
    echo Идет запуск...
    Start "" "%~dp0\Программы\Miranda\miranda32.exe"
)
Exit


Medic84 26-05-2009 20:10 1128163

Большое спасибо! Проблема решена. Но вопрос, почему так???

gora 29-05-2009 15:30 1130332

Цитата:

Цитата Medic84
Но вопрос, почему так??? »

Вот эти строки:
Цитата:

Цитата Medic84
If "%Ch%"=="2"
goto :2 »

Нужно писать в одну строку:
Код:

If "%Ch%"=="2" goto :метка


Время: 01:46.

Время: 01:46.
© OSzone.net 2001-