Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 2
Регистрация: 17.03.2016
Сообщений: 174
1

Проверка наличия параметра в cmd файле

16.09.2020, 09:11. Просмотров 938. Ответов 6
Метки нет (Все метки)

Привет.

Создал файл для запуска приложения run.cmd , и теперь запускаю в командной строке run

Полная команда для консоли имеет один из двух вариантов:
Bash
1
run -sid 1522048 -c crm31 -trace -p 1 -net
Bash
1
run -sid 1522048 -c crm31 -trace -p 1
Файл cmd выглядит так:
Bash
1
2
3
4
5
if "%8" == "-net" (
    java -Dlog4j2.configurationFile=log_net.yaml -jar _builds_\runner.jar %1 %2 %3 %4 %5 %6 %7
) else (
    java -Dlog4j2.configurationFile=log.yaml -jar _builds_\runner.jar %1 %2 %3 %4 %5 %6 %7
)
Т.е. при такой реализации я обязан передавать параметр -net восьмым по счёту (если он требуется).

Подскажите плиз, можно ли как-то модернизировать cmd-файл, чтобы я мог передавать параметр -net любым по счёту? То есть, чтобы в батнике просто проверялось, что среди переданных параметров есть -net ?
Но при этом из самой консольной команды он исключался. Т.е. если я получу такую команду:
Bash
1
java -Dlog4j2.configurationFile=log_net.yaml -jar _builds_\runner.jar -sid 1522048 -c crm31 -trace -p 1 -net
то это будет ошибка.

Я не в курсе, так в батниках вообще можно.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.09.2020, 09:11
Ответы с готовыми решениями:

Проверка наличия запущенного процесса cmd.exe по имени его окна
Очень нужна ваша помощь! Суть: необходимо в БАТнике провести проверку на предмет запущенного...

Проверка наличия в заданном файле заданного слова
Почему не определяет, является ли страница спамом ? rem Dialog with user. Input file. @Set /p...

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

C# проверка на наличия информации в txt файле
Ребят, такой вопрос, кто поможет? У меня есть TXT файл, и он пустой. Если файл заполнен какой...

6
Нарушитель
373 / 294 / 114
Регистрация: 29.05.2016
Сообщений: 1,618
16.09.2020, 12:09 2
alex_7, проверить-то можно, только непонятно что хотите получить. В случае, допустим, его наличия получить номер этого параметра?
1
3143 / 1783 / 592
Регистрация: 26.04.2015
Сообщений: 5,901
16.09.2020, 12:11 3
Windows Batch file
1
2
3
4
5
6
7
@echo off
echo %*|>nul find "-net" && (
 echo var1
) || (
 echo var2
)
pause
(ну если -net или очень похожие сочетания более не встречаются в строке запуска)
1
Эксперт WindowsАвтор FAQ
17530 / 7374 / 880
Регистрация: 25.12.2011
Сообщений: 11,159
Записей в блоге: 16
16.09.2020, 12:39 4
Проверка на точное совпадение (без учёта регистра):

Windows Batch file
1
2
3
4
5
6
7
8
9
set "HasArgument="
 
for %%a in (%*) do if /i "%%~a"=="-net" set HasArgument=true
 
if defined HasArgument (
  echo Has argument -net
) else (
  echo Doesn't have argument -net
)
1
4 / 3 / 1
Регистрация: 25.03.2019
Сообщений: 30
16.09.2020, 13:31 5
log_net.yaml.bat
Windows Batch file
1
java -Dlog4j2.configurationFile=%~n0 -jar _builds_\runner.jar %*
log.yaml.bat
Windows Batch file
1
java -Dlog4j2.configurationFile=%~n0 -jar _builds_\runner.jar %*
any_config_name.bat
Windows Batch file
1
java -Dlog4j2.configurationFile=%~n0 -jar _builds_\runner.jar %*
Иными словами, для новой сборки просто копируешь данный батник, подставляя в качестве имени имя нужного конфига
с расширением .bat
1
605 / 236 / 99
Регистрация: 17.03.2014
Сообщений: 617
16.09.2020, 18:27 6
Лучший ответ Сообщение было отмечено alex_7 как решение

Решение

Цитата Сообщение от alex_7 Посмотреть сообщение
Подскажите плиз, можно ли как-то модернизировать cmd-файл, чтобы я мог передавать параметр -net любым по счёту?
run.cmd может быть таким
Windows Batch file
1
2
3
4
5
6
7
8
@echo off
set "arg1=%*"
set "arg2=%arg1:-net=%"
if NOT "%arg1%" == "%arg2%" (
  java -Dlog4j2.configurationFile=log_net.yaml -jar _builds_\runner.jar %arg2%
) else (
  java -Dlog4j2.configurationFile=log.yaml -jar _builds_\runner.jar %arg1%
)
1
1 / 1 / 2
Регистрация: 17.03.2016
Сообщений: 174
18.09.2020, 12:58  [ТС] 7
Цитата Сообщение от b0gus Посмотреть сообщение
run.cmd может быть таким ......
во во, ваш способ лучше всего подошёл! спс
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.09.2020, 12:58

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Проверка наличия атрибута в xml файле
Сразу предупреждаю - делфи может быть не совсем полноценный - работаю в Inno Setup. Вопрос...

Проверка наличия некого имени в лежащем рядом TXT файле
Нужен скрипт который при гет запросе проверяет наличие некого имени, допустим "Настя" в лежащем...

Проверка наличия шрифта в системе и установить если отсуствует + проверка запущен ли проект с правами админа
Здравствуйте. Как можно проверить наличия шрифта в системе и установить его если отсуствует. Ну...

Вывод текста в зависимости от наличия параметра в ссылке
Привет, скажите что не так с кодом что при выполнении HTTP ERROR 500 <?php elseif(1 ==...

Передача параметра из cmd на различных языках
Добрый день. Есть bat-файл: powershell.exe -noprofile -executionpolicy bypass -file...

проверка наличия
Всем привет! Подскажите, как реализовать следующее: имеется список значений в файле one столбце А....


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.