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

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

  • автор:

Передача параметров и вызов из консоли bat файл?

Мне нужно чтобы Bat файл генерировал структуру файлов и папок в каталоге в которым ты находишься в консоли. Во-первых, как я понял, нужно закинуть его в PATH и вызывать можно уже где угодно.
Как в него передать переменную из консоли. Как вообще его вызвать из консоли. И главное чтоб он генерировал файлы и папки не в директории которой он находится, а в директории откуда вызывается.
Знаю объяснил очень тупо, но Вы, наверно, поняли суть))

  • Вопрос задан более трёх лет назад
  • 1464 просмотра

Комментировать
Решения вопроса 1
системный разработчик

Батник можно вызывать по его полному пути независимо от того, где он лежит
просто по имени — да, если в PATH есть.
например такой bat-ник, назовём его example.bat и сохраним в c:\Temp\:

dir echo %1 echo %2 echo %3 echo %*

при запуске

c:\Temp\example.bat "первый параметр" второй параметр

выведет содержимое текущего каталога и переданные параметры
типа

Том в устройстве D имеет метку Data Серийный номер тома: . Содержимое папки d:\ 09.09.2015 17:46 0 1 07.07.2015 16:17 . 05.11.2014 17:56 . 28.07.2014 16:02 . 10.09.2014 19:18 13 234 918 . . 6 файлов 37 073 021 байт 27 папок 2 091 204 608 байт свободно первый параметр второй параметр первый параметр второй параметр

%1, %2, . тут, как уже сказал Александр Таратин — параметры,
%* — все параметры

Как передать параметры в 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 файл

Сообщения: 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 файл

Argument ‘Topic id’ is null or empty

Сейчас на форуме

© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru

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

ООО «Планета Эксел»
ИНН 7735603520
ОГРН 1147746834949
ИП Павлов Николай Владимирович
ИНН 633015842586
ОГРНИП 310633031600071

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

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