Acho que você só precisa rever a FOR /?
help um pouco. Você misturou algumas coisas diferentes que não funcionam. O interpretador cmd
é limitado comparado a outros ambientes de script com os quais você pode estar familiarizado.
Acho que tudo o que você está perguntando é "Como usar o FOR
em um arquivo em lotes para contar de 1 a 5 em incrementos de 1?" E isso é bastante simples:
FOR /L %%M IN (1, 1, 5) DO (
ECHO %%M
)
A segunda parte da sua pergunta é sobre como incrementar outra variável dentro do loop FOR
. Para isso, você vai querer pesquisar SETLOCAL EnableDelayedExpansion
. Aqui está um exemplo usando seu script fornecido.
@ECHO OFF
SETLOCAL EnableDelayedExpansion
SET VBoxManage="C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"
SET P=25553
FOR /L %%M IN (1, 1, 5) DO (
%VBoxManage% clonevm Win2012 --mode all --name M%%M --register
%VBoxManage% modifyvm M%%M --vrde on --vrdeauthtype null --vrdemulticon on --vrdeport !P!
SET /A P=P + 1
ECHO Done
ECHO %%M
ECHO !P!
)
ECHO All cloning finished.
PAUSE