cmd.exe 在 for 循环中不递增数字

cmd.exe not incrementing number in for loop

我已经转了一个多小时了,有人告诉我为什么这不起作用吗?

我需要创建一个文件夹数组并使用该数组启动 robocopy 命令

@echo off
setlocal EnableDelayedExpansion
set str=%USERPROFILE%
set server=\poppy
call set mod=%%str:C:=%server%%%
if not exist "%mod%" mkdir %mod%
set list= %mod%\Documents %mod%\Downloads
set counter=0
(for %%a in (%list%) do (
    echo.%%a
    set counter=counter+1
    echo.%counter%
))
pause

无论我怎么尝试,我都无法增加计数器:-(

@echo off
setlocal EnableDelayedExpansion
set "str=%USERPROFILE%"
set "server=\poppy"
call set "mod=%%str:C:=%server%%%"
if not exist "%mod%" mkdir %mod%
set "list= %mod%\Documents %mod%\Downloads"
set counter=0
setlocal enableDelayedExpansion
(for %%a in (%list%) do (
    echo.%%a
    set /a counter=counter+1
    echo.!counter!
))
endlocal
pause

有关更多信息,请查看此 - http://blogs.msdn.com/b/oldnewthing/archive/2006/08/23/714650.aspx

对于 SET 的算术你需要 /A 开关。