Передача параметров и вызов из консоли 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 |