Назад | Перейти на главную страницу

Как передать параметры сценарию летучей мыши

Простите за вопрос новичка, но мне не приходилось прикасаться к сценариям bat со времен autoexec.bat ... и тот даже был вызван из системы напрямую.

Так что мне интересно, как я могу передать аргументы моему сценарию летучей мыши?

Например, я хочу создать n каталогов с определенным именем. Я хотел бы использовать такую ​​конструкцию:

for %%N in (1 to $arg1$) do mkdir $arg2$-%%N

В результате я хотел бы вызвать N каталогов

... и так далее.

Спасибо!

В пакетных файлах для обозначения аргументов используются номера позиционных параметров (% 1,% 2,% 3). Для вашего примера это будет:

для %% N в (от 1 до% 1) выполните mkdir% 2 - %% n

Вот справочное руководство.

Но конструкция вашего цикла for тоже неверна - насколько мне известно, в пакетных файлах нет ключевого слова to. То, что указано в скобках, должно быть набором (например: 1 2 3 4) - я не уверен, что вы можете зацикливаться, как хотите, без использования меток и перехода ...

Вот синтаксис для ДЛЯ команды.

Вот как бы вы могли выполнить цикл с помощью меток и goto - это не очень красиво с точки зрения программиста - но как насчет командного файла?


set counter=%1
set count=1
:LOOP
if %count% GEQ %counter% GOTO END
mkdir %2-%count%
set /a count = %count% + 1
goto LOOP
:END

это просто% 1% 2 ...% n для аргумента1, аргумента2, ..., аргументаn

видеть этот например.

Цикл for мне понравился:

FOR %%a IN ("filename1" "filename2" "filename3") DO something %%a -clean Lib -log errors >> logfilename

Я думаю, что вы хотите:

@echo off
for /l %%a in (1,1,%1) do mkdir Folder-%%a