Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Запуск программы с разными параметрами

Ответить
Настройки темы
CMD/BAT - [решено] Запуск программы с разными параметрами

Аватара для root221

Старожил


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

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


Изменения
Автор: root221
Дата: 25-01-2012
Здравствуйте, пришол к вам за помощью.... Т.к долго не занимался скрипто писанием, многое позабыл и поэтому прошу вас, если вам не сложно набросать мне батник тогда поехали...

Запускаю батник, выводится список, например мне из этого списка надо только одна функция программы

ну например, нажимаю 1, запускается программа с параметром, который числится под номером 1, это у нас будет (Fish.exe Fish1)

Например:

Список вывелся,


№ 1 Fish1 <внутри батника тут будет параметр Fish1>
№ 2 Fish2 <внутри батника тут будет параметр Fish2>
№ 3 Fish3 <внутри батника тут будет параметр Fish3>

И я хочу запустить программу с предложенными мне функциями:

и я выбираю параметр под номером № 2

и запускается программа Fish.exe с параметром Fish2,

то есть, если я запускаю с помощью ярлыка, то это будет выглядеть так (Fish.exe Fish2)

далее

если я выбираю параметр 3, то программа должна будет запуститься так (Fish.exe Fish3)

(Параметров очень много, поэтому, что бы не создавать 100 ярлыков на раб. столе, хочу увидеть сие творение в Маленьком батнике.)

Отправлено: 14:46, 25-01-2012

 

Аватара для El Sanchez

Ветеран


Contributor


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

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


root221, на примере Notepad
Код: Выделить весь код
@Echo Off
SetLocal
Rem _Number=Parameters;Description
Set _1=%WinDir%\setuplog.txt;Открыть setuplog.txt
Set _2=%WinDir%\setupact.log;Открыть setupact.log

For /F %%A In ('Set _') Do Set /A Cnt+=1
For /L %%A In (1,1,%Cnt%) Do Call Echo %%A. %%_%%A:*;=%%
Echo:
Set /P "i=Выберите пункт меню: "
If Defined _%i% For /F "Tokens=2 Delims==;" %%A In ('Set _%i%') Do Start "" "Notepad" "%%~A"
upd:
Доработал вывод меню, а то при количестве пунктов больше 100 были бы приколы

Последний раз редактировалось El Sanchez, 25-01-2012 в 21:02. Причина: доработка

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:25, 25-01-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для root221

Старожил


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

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


Если не трудно, переделай, что бы в консоли маргал только курсор а параметры видны небыли.
Сам выберу по памяти эти параметры, просто слишком большой список получается...

в консоли вид , желательно такой

Код: Выделить весь код
Выберите параметр: _

Отправлено: 23:33, 25-01-2012 | #3


Аватара для El Sanchez

Ветеран


Contributor


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

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


Цитата root221:
что бы в консоли маргал только курсор а параметры видны небыли »
root221, удалить\закомментировать строки:
Код: Выделить весь код
For /F %%A In ('Set _') Do Set /A Cnt+=1
For /L %%A In (1,1,%Cnt%) Do Call Echo %%A. %%_%%A:*;=%%
Echo:
Либо батник можно упростить:
Код: Выделить весь код
@Echo Off
SetLocal
Rem _Number=Parameters
Set _1=%WinDir%\setuplog.txt
Set _2=%WinDir%\setupact.log

Set /P "i=Выберите параметр: "
If Defined _%i% Call Start "" "Notepad" "%%_%i%%%"

Последний раз редактировалось El Sanchez, 26-01-2012 в 09:38.

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:28, 26-01-2012 | #4


Аватара для root221

Старожил


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

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


ПОМОГИТЕ)

Код: Выделить весь код
@echo off
:eom
Set _1=123456789

Set /P "i=     ‚ўҐ¤ЁвҐ *®¬Ґа Є®¬ЇмовҐа*: "

If Defined _%i% (
Call program.exe -s beggin"" "%%_%i%%%" > nul
Endlocal
goto EOM
) else (
Test.vbs
goto EOM
)
В общем мне нужно сделать что бы можно было ввести Test и выполнялся Test.vbs

В данном примере у меня он просто через Else. - то есть если просто не ввести ничего и нажать Ввод то выполнится Test.vbs а если ввести команду 1 то выполнится
Код: Выделить весь код
program.exe -s beggin 123456789

Последний раз редактировалось root221, 02-02-2012 в 19:11.


Отправлено: 17:24, 02-02-2012 | #5


Старожил


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

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


Код: Выделить весь код
@Echo Off
SetLocal
Rem _Number=Parameters
Set _1=%WinDir%\setuplog.txt
Set _2=%WinDir%\setupact.log

:EOM
Set i=
Set /P "i=Выберите параметр: "
If /I %i%==test (test.vbs&Cls&GoTo :EOM)
If Defined _%i% (Call Start "" "Notepad" "%%_%i%%%") Else (Cls&GoTo :EOM)
Отредактировал пост, сделал так, как вам нужно. Если ввести test - выполнится test.vbs и произойдет возврат к выбору пункта, если ввести нужный номер - запустится программа с этими параметрами, если ввести неправильный номер - снова возврат к выбору пункта.

Последний раз редактировалось Anonymоus, 02-02-2012 в 19:51.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:03, 02-02-2012 | #6


Аватара для root221

Старожил


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

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


Anonymоus, свой пост отредактировал пока вы отвечали(((....

В общем нужно то что сейчас написано в 5 посту.

Отправлено: 19:16, 02-02-2012 | #7


Аватара для root221

Старожил


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

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


Спасибо, я знал что вы мне сможете помочь.

Если не трудно, добавьте ещё, что бы если просто ничего не введёшь и нажмёшь, то что бы писало через cls, вы не ввели ничего и возврат на GoTo :EOM.

Отправлено: 19:51, 02-02-2012 | #8


Старожил


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

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


Сделано.
Код: Выделить весь код
@Echo Off
SetLocal
Rem _Number=Parameters
Set _1=%WinDir%\setuplog.txt
Set _2=%WinDir%\setupact.log

:EOM
Set i=
Set /P "i=Выберите параметр: "
If "%i%"=="" Cls&Echo Вы ничего не ввели.&GoTo :EOM
If /I %i%==test (test.vbs&Cls&GoTo :EOM)
If Defined _%i% (Call Start "" "Notepad" "%%_%i%%%") Else (Cls&GoTo :EOM)
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:58, 02-02-2012 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Запуск программы с разными параметрами

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Запуск программы с параметрами Rulezzz2 AutoIt 8 31-03-2013 05:16
Прочее - Включение локального соединения с разными параметрами IP, Mask... Ledax Сетевые технологии 2 18-11-2010 17:40
WMI - [решено] Запуск .BAT файла с параметрами через WMI Glamorama Скриптовые языки администрирования Windows 3 07-10-2009 11:12
[решено] Запуск EXE c параметрами ( test.exe -123 -abc ) FlatX007 AutoIt 2 22-06-2009 16:47




 
Переход