é apenas% 1% 2 ...% n para argument1, argument2, ..., argumentn
veja este por exemplo.
O loop for eu fiz assim:
FOR %%a IN ("filename1" "filename2" "filename3") DO something %%a -clean Lib -log errors >> logfilename
Desculpe a pergunta do meu novato, mas não tive que tocar nos scripts de morcego desde os dias do autoexec.bat ... e esse foi chamado diretamente do sistema.
Então eu me pergunto como posso passar argumentos para o meu roteiro de bat?
Por exemplo, eu quero criar n diretórios com um certo nome. Eu gostaria de usar um constructo como este:
for %%N in (1 to $arg1$) do mkdir $arg2$-%%N
Como resultado, eu gostaria de ter N diretórios chamados
... e assim por diante.
Obrigado!
é apenas% 1% 2 ...% n para argument1, argument2, ..., argumentn
veja este por exemplo.
O loop for eu fiz assim:
FOR %%a IN ("filename1" "filename2" "filename3") DO something %%a -clean Lib -log errors >> logfilename
Os arquivos em lote usam números de parâmetro posicionais (% 1,% 2,% 3) para indicar argumentos. Para o seu exemplo, seria:
para %% N em (1 para% 1) do mkdir% 2 - %% n
Aqui está um guia de referência .
Mas a construção do loop for está incorreta também - não há palavra-chave "to" nos arquivos em lote, tanto quanto eu sei. A coisa entre parênteses é suposto ser um conjunto (como: 1 2 3 4) - Eu não tenho certeza se você pode fazer um loop como você quer fazer sem usar rótulos e goto ...
Aqui está a sintaxe para o comando FOR .
Aqui está como você faria o loop usando labels e goto - não é bonito do ponto de vista de um programador - mas que tal um arquivo de lote?
set counter=%1
set count=1
:LOOP
if %count% GEQ %counter% GOTO END
mkdir %2-%count%
set /a count = %count% + 1
goto LOOP
:END
Acho que o que você quer é:
@echo off
for /l %%a in (1,1,%1) do mkdir Folder-%%a
Tags batch-file