Как передать параметры в bat файл
Перейти к содержимому

Как передать параметры в bat файл

  • автор:

Передача параметров в исполняемый bat-файл

В bat -файле нужно посчитать количество параметров, ему переданных. Использовал следующую конструкцию:

for %%i in (%*) do set /a param+=1 

При вызове батника следующим образом:

search.bat «путьККаталогу» «file.txt»

param становится равен 2 Но при вызове:

search.bat «путьККаталогу» «*.txt»

search.bat «путьККаталогу» «?.txt»

param равен 1. Как символы *, ? влияют на подсчет?

Отслеживать

7,309 5 5 золотых знаков 27 27 серебряных знаков 71 71 бронзовый знак

задан 19 апр 2018 в 16:12

Ewgeny Kokoshko Ewgeny Kokoshko

127 7 7 бронзовых знаков

А зачем вам число параметров?

19 апр 2018 в 16:15

батник должен производить поиск в директории(1 параметр) файлов по маске либо масках. то есть нужно определить количество масок чтобы после проходится по параметрам %* и делать поиск + нужно проверить есть ли хотя бы один параметр (каталог) , если есть, то проверить наличие хотя бы одной маски

19 апр 2018 в 16:18

Проверяйте наличие i-ого параметра IF NOT «%2» == «» .

Как передать параметры в bat файл

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

Конфигурация компьютера
Процессор: Intel Core i7-9700K 3600/4900 MHz Coffee Lake R
Материнская плата: ASRock Z390 Extreme4
Память: Kingston HyperX HX434C16FB3K2/32 DDR4 32Gb
HDD: WDC WD8002FRYZ-01FF2B0 8Tb SATA, Patriot Viper VPN100 512Gb NVME
Видеокарта: AMD Radeon RX 560(Polaris 21) 4Gb
Звук: Realtek ALC1220
Блок питания: Thermaltake 1000
CD/DVD: HL-DT-ST DVDRAM GH24NSC0
Монитор: Iiyama ProLite X2483HSU, LG L193ST
Ноутбук/нетбук: ASUS ZenBook UX32A
ОС: Windows 10 Pro x64

DarckSol,
вообще все это прекрасно описано в «CALL /?»
Ну если вкратце то общий принцип таков:
a.bat «param1» «param2» «param3»
внутри a.bat:
%0 полное имя вызванного батника (с кавычками в случае «кривого» пути)
%1 «param1»
%2 «param2»
%3 «param3»
%~0 полное имя вызванного батника (без кавычек)
%~1 param1
%~2 param2
%~3 param3

——-
Ты это — заходи если что.

Как передать параметры в bat файл

например два батника: 1.bat и 2.bat

@echo off
set directory1 = «C:\123»
set directory2 = «C:\123»

call 2.bat %directory1% %directory2%

и выводит пустоту в 2.bat

в пути пробелы?
call 2.bat «%directory1%» «%directory2%»
(0) а почему #
надо %
ну в смысле %2 и пишу. все равно пустота
set directory1 = «C:\123»
пробелы убери

call 2.bat %directory1 %directory2

какие пробелы? в конце строки?

до = и после
(9)+1
set directory1=»C:\123″
set directory2=»C:\123″

но в основном до
но тогда надо учесть, что ведущий пробел (который после =) включится в значение переменной

(9) точняк, когда-то натыкался на такое в чужом батнике. сам пробелы не ставлю никогда, даже в 1С, приучился так

Непонятно, только зачем передавать переменные в другой файл.
SET VARIABLE=VALUE
устанавливает переменную окружения, и её легко получить с другом BAT-файле и её родному имени.

Как передать параметры в bat файл

Нравится ресурс?

Правила раздела Windows

1. Указывайте версию Вашей ОС.
2. Запрещается размещать запросы и ссылки на кряки, серийники и т.п., а также вопросы нарушения лицензии ПО и его взлома.
3. Не разрешается давать советы из разряда «Поставь Linux».
4. Переустановка ОС — крайнее и безотказное лекарство, которое знают все. В таких советах никто не нуждается.
5. При публикации скриптов пользоваться тегами code. Тип подсветки кода выбирать строго в соответствии с языком публикуемого кода.
6. Прежде чем задать вопрос, обязательно загляните в FAQ и следуйте написанным рекомендациям для устранения проблемы. И если не помогло, а поиск по разделу не дал результатов — только тогда задавайте вопрос на форуме.
7. Вопросы, связанные с проблемами ПО, задавайте в разделе Программное обеспечение

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *