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