Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.94/33: Рейтинг темы: голосов - 33, средняя оценка - 4.94
206 / 23 / 5
Регистрация: 12.06.2012
Сообщений: 235
1

Запрос двух параметров для запуска приложения

21.05.2019, 18:08. Показов 6535. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребят, всем привет!
Подскажите как запустить приложение с передачей параметров?
Необходимо, при запуске батника на рабочем столе спросить в консоли:
а) введите номер:
б) введите дату: (можно ли тут чтоб дата по умолчанию сегодняшняя стояла?)
после того как введут, надо выполнить далее,
в) C:\program.exe -n 53 -o 21.05.2019.xls
где, 53 это указанный на первом шаге номер.

П. С. Можно батник bat/cmd/hta...
Лишь бы Тамара Павловна могла ввести параметры )
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.05.2019, 18:08
Ответы с готовыми решениями:

Передача параметров запуска для приложения
Необходимо запустить Run.bat из моего приложения, но перед запуском батника надо перейти в папку...

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

Вариант запуска приложения в зависимости от входных параметров
Всем привет! Помогите пожалуйста решить такую проблему... Пишу проигрыватель. Задача стоит в...

Запрет одновременного запуска приложения на двух PC
Всем доброго, уважаемые! Задался таким вопросом - как можно предотвратить одновременный запуск...

21
418 / 178 / 27
Регистрация: 11.03.2018
Сообщений: 764
21.05.2019, 20:48 2
Цитата Сообщение от sergeos Посмотреть сообщение
Подскажите как запустить приложение с передачей параметров?
П. С. Можно батник bat/cmd/hta...
Лишь бы Тамара Павловна могла ввести параметры )
Порекомендую обзавестись инструментом Delphi 6.
Или даже лучше Delphi 5.

Установка займет 4 минуты.
Сборка и отладка утилиты ещё минут 5-7.
На выходе получится бронебойнaя пуля tamarapalna.exe,
работающая на всех версиях Windows и при любом операционном окружении.
Миниатюры
Запрос двух параметров для запуска приложения  
0
206 / 23 / 5
Регистрация: 12.06.2012
Сообщений: 235
21.05.2019, 22:43  [ТС] 3
Тянуть трактор чтобы накидать 2 строчки кода? )
Получается, батниками не осилить...
0
418 / 178 / 27
Регистрация: 11.03.2018
Сообщений: 764
21.05.2019, 23:00 4
Вопрос не об осилить,
передать два параметра в приложение с помощью бат-файла безусловно можно.

Я упомянул временную составляющую и качественную составляющую.

5-7 минут не произвели на тебя впечатление ?

А сколько времени ты потратишь на кодирование 'батника', чтобы тамарапална гарантированно ввела время в нужном тебе формате ?

А контроль запускаемого приложения, к примеру? В 'батнике' таких способов нет.

А если потребуется выбрать файл / файлы привычным способом, к примеру ?
0
206 / 23 / 5
Регистрация: 12.06.2012
Сообщений: 235
21.05.2019, 23:27  [ТС] 5
Понимаешь, ехе-шник это в первую очередь вопрос безопасности. Когда ты даёшь кому-то ехешник, на тебя могут уже посмотреть странно, не заложил ли ты туда ещё чего. Ну тут ок, фиг с ним - все свои - поверят.
Далее, я не уверен насчёт распространения, надо ли с сбой тягать рантаймы дельфей, чтобы запустить ехешник где-то на чистых ос.
И, в третьих, что если понадобиться немного подправить скрипт, снова компилировать исходник?
0
6228 / 2670 / 1051
Регистрация: 06.06.2017
Сообщений: 9,127
22.05.2019, 00:17 6
sergeos, вы на js/vb пишите. В чём проблема?
Visual Basic
1
2
3
4
5
6
7
8
9
10
Set R = New RegExp: R.Pattern = "^(0[1-9]|[1-2][0-9]|3[01])\.(0[1-9]|1[0-2])\.20\d{2}$"
CreateObject("WScript.Shell").Exec "C:\program.exe -n " & I("номер",Empty) & " -o " & I("дату",Date) & ".xls"
 
Function I(T, N)
    I = Trim(InputBox(String(5, vbCr) & "Введите " & T & ":", " Тамара Павловна", N))
    If I = "" Then wsh.Quit
    If IsEmpty(N) Then
        If Not IsNumeric(i) Then I "номер", Empty
    ElseIf Not R.Test(I) Then I "дату", Date End If
End Function
1
206 / 23 / 5
Регистрация: 12.06.2012
Сообщений: 235
22.05.2019, 00:51  [ТС] 7
Цитата Сообщение от FlasherX Посмотреть сообщение
В чём проблема?
Сорь, я не думал что это вызовет шквал вопросов )
Надеялся, что в батниках это р-раз и готово. Чтоб не тянуть артилерию.

За код спасибо. Интересно реализован, мне понравилось, хотя, и не лишён одного косячишки, на случай если тамара павловна не введёт номер на первом шаге, или же клацнет кенсел, то всё равно ехешник запустится, пусть и с частичной передачей параметров, а то и вовсе без них.
0
6228 / 2670 / 1051
Регистрация: 06.06.2017
Сообщений: 9,127
22.05.2019, 00:53 8
Цитата Сообщение от sergeos Посмотреть сообщение
не лишён одного косячишки, на случай если тамара павловна не введёт номер на первом шаге, или же клацнет кенсел, то всё равно ехешник запустится
Ошибаетесь.
0
206 / 23 / 5
Регистрация: 12.06.2012
Сообщений: 235
22.05.2019, 01:04  [ТС] 9
Цитата Сообщение от FlasherX Посмотреть сообщение
Ошибаетесь.
Согласен. Это я в vba на тест вбросил для проверки, а тут выход из функции не означает завершение приложения (wsh.Quit).
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub test()
 
Dim r As Object
Set r = CreateObject("VBScript.RegExp")
r.Pattern = "^(0[1-9]|[1-2][0-9]|3[01])\.(0[1-9]|1[0-2])\.20\d{2}$"
'CreateObject("WScript.Shell").Exec "C:\program.exe -n " & I("номер", Empty, r) & " -o " & I("дату", Date, r) & ".xls"
 
Debug.Print "C:\program.exe -n " & I("номер", Empty, r) & " -o " & I("дату", Date, r) & ".xls"
 
Set r = Nothing
 
End Sub
 
Function I(T, N, r)
    I = Trim(InputBox(String(5, vbCr) & "Введите " & T & ":", " Тамара Павловна", N))
    If I = "" Then Exit Function ' wsh.Quit
    If IsEmpty(N) Then
        If Not IsNumeric(I) Then I "номер", Empty, r
    ElseIf Not r.test(I) Then
        I "дату", Date, r
    End If
End Function
C:\program.exe -n 56 -o 22.05.2019.xls
C:\program.exe -n -o 22.05.2019.xls
C:\program.exe -n -o .xls
C:\program.exe -n 9 -o 22.05.2019.xls
C:\program.exe -n h -o 22.05.20199.xls
0
6228 / 2670 / 1051
Регистрация: 06.06.2017
Сообщений: 9,127
22.05.2019, 01:07 10
sergeos, а при чём здесь vba, если это vbs?
1
418 / 178 / 27
Регистрация: 11.03.2018
Сообщений: 764
22.05.2019, 07:48 11
Цитата Сообщение от sergeos Посмотреть сообщение
Далее, я не уверен насчёт распространения, надо ли с сбой тягать рантаймы дельфей, чтобы запустить ехешник где-то на чистых ос.
Вопрос правильный.
Ответ: никакого runtime прицепа для запуска не требуется.

Цитата Сообщение от sergeos Посмотреть сообщение
если понадобиться немного подправить скрипт, снова компилировать исходник?
Да. Компилировать 'проект'.
Загрузка среды длится около 2 секунд.
Компиляция мелкого проекта длится менее десятой доли секунды.

Внесение изменений с помощью качественного IDE - процесс простой, быстрый и приятный.

Поясню ещё:
Я не занимаюсь программированием на Delphi. Мысль об её использовании пришла внезапно,
когда начал вспоминать, какой есть простой, легковесный, универсальный и надёжный инструмент для Windows для создания приложений с пользовательским интерфейсом и работающий без .NET
Вспомнил, нашёл в архиве, за 4 мин. установил, за 3 мин. создал приложение. Впечатлился.
0
4334 / 2124 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
22.05.2019, 09:51 12
Цитата Сообщение от sergeos Посмотреть сообщение
Необходимо, при запуске батника на рабочем столе спросить в консоли:
тогда должно устроить:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
color 1a
mode con: cols=27 lines=4
@echo off
set "prg=C:\Program.exe"
set "ext=xls"
 
echo Введите номер:& set /p n=
echo Введите дату [dd.MM.yyyy]:& set /p d=
"%prg%" -n %n% -o %d%.%ext%
exit
компилируете в exe этим
легко вскрывается, например, Restoratorом, для редактирования.
1
206 / 23 / 5
Регистрация: 12.06.2012
Сообщений: 235
22.05.2019, 14:14  [ТС] 13
bidstrup, Delphi и VB6.0 всегда были must have, в т.ч. и в настоящее время.
alpap, а прошу прощения, по дефолту можно дату сегодняшнюю опубликовывать? чтобы не вбивать вручную.
0
6228 / 2670 / 1051
Регистрация: 06.06.2017
Сообщений: 9,127
22.05.2019, 15:25 14
Цитата Сообщение от alpap Посмотреть сообщение
тогда должно устроить:
Зачем же делать вид, что этого нет в ТЗ?:
Цитата Сообщение от sergeos Посмотреть сообщение
можно ли тут чтоб дата по умолчанию сегодняшняя стояла?
Ну, и, конечно, без проверок в цикле Тамар Пална может и накосячить.
Цитата Сообщение от alpap Посмотреть сообщение
компилируете в exe этим
Выше же объяснялось, что exe не годится.

sergeos
Вас мой вариант не устроил? Или вы реально считаете, что женщине с консолью возиться будет удобней?
0
206 / 23 / 5
Регистрация: 12.06.2012
Сообщений: 235
22.05.2019, 16:26  [ТС] 15
Цитата Сообщение от FlasherX Посмотреть сообщение
Ну, и, конечно, без проверок в цикле Тамар Пална может и накосячить.
Это только в рамках собственной осведомлённости. Для себе увидеть вариант. Проверять уже на типизацию - то уж грех спрашивать ), просто хотел увидеть как именно по-дефолту поставить результат функции определения даты в батнике.

Цитата Сообщение от FlasherX Посмотреть сообщение
Выше же объяснялось, что exe не годится.
Так ехе и не нужен, просто человек не уловил по теме разговора деталей. А я не стал уже заострять внимания на этом, т.к. по факту он всё равно скрипт привёл.

Цитата Сообщение от FlasherX Посмотреть сообщение
Вас мой вариант не устроил? Или вы реально считаете, что женщине с консолью возиться будет удобней?
Устроил, даже в работу вчера ночью вывел. Хотя, пока что на удалённой машине не запускается у него пока что. Надо разбираться. Тут просто какое дело, значит, run.bat стартует вчерашний ваш скрипт.vbs. А в нём, мне надо передать ноде (node) запуск скрипта с параметрами. Так вот я вбил:
Visual Basic
1
CreateObject("WScript.Shell").Exec "node C:\myPathToScript\script -n " & I("номер", Empty, r) & " -o " & I("дату",...
и тогда батник стартует скрипт, скрипт в свою очередь стартует ноду, но ничего ей не передаёт почему-то. А дальше я уже заснул, если честно )
Сегодня вот снова засел за поиск чё там не запускается, увидел скрипт от alpap и он завёлся - запустил ноду с параметрами. То я и спросил между делом, есть ли возможность авто дату вставлять.
0
418 / 178 / 27
Регистрация: 11.03.2018
Сообщений: 764
22.05.2019, 16:40 16
А чо, мне нравится.
Прекрасная иллюстрация.
Я пел про 'не думай о секундах свысока'.
А тут..
Прошли сутки.
Задача не решена.
0
6228 / 2670 / 1051
Регистрация: 06.06.2017
Сообщений: 9,127
22.05.2019, 16:42 17
Цитата Сообщение от sergeos Посмотреть сообщение
просто хотел увидеть как именно по-дефолту поставить результат функции определения даты в батнике.
set этого не позволяет.
Цитата Сообщение от sergeos Посмотреть сообщение
run.bat стартует вчерашний ваш скрипт.vbs.
Зачем тут вообще батник? o_0
Цитата Сообщение от sergeos Посмотреть сообщение
мне надо передать ноде (node) запуск скрипта с параметрами
С какими, если ввод происходит в диалогах?
0
206 / 23 / 5
Регистрация: 12.06.2012
Сообщений: 235
22.05.2019, 18:19  [ТС] 18
Цитата Сообщение от FlasherX Посмотреть сообщение
С какими, если ввод происходит в диалогах?
параметры для скрипта.js который подсовывается ноде
0
6228 / 2670 / 1051
Регистрация: 06.06.2017
Сообщений: 9,127
22.05.2019, 19:00 19
Цитата Сообщение от sergeos Посмотреть сообщение
запустил ноду с параметрами
Приведите комстроку целиком.
0
206 / 23 / 5
Регистрация: 12.06.2012
Сообщений: 235
22.05.2019, 19:08  [ТС] 20
вручную в командой строке синтаксис выглядит так:
Windows Batch file
1
c:\node C:\myPathToScript\script -n 83 -o 22.05.2019.xlsx
0
22.05.2019, 19:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.05.2019, 19:08
Помогаю со студенческими работами здесь

Как не допустить одновременного запуска двух копий FireMonkey приложения?
Подскажите пожалуйста!)

Задание параметров для flash-объекта в HTML-файле запуска
Добрый вечер,всем!!! Только пытаюсь разобраться в AC 3.0. Нужно создать HTML-файл запуска и задать...

Скрипт для запуска приложения
Надо создать скрипт для запуска программы, что бы она открывалась по пятницам вечером Как это...

Передача данных для запуска приложения
Всем привет. у меня такой вопрос... кто может сделать программу смысл такой, имеется файл...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru