windows - cmd.exe 不递增 for 循环中的数字

标签 windows batch-file cmd

我已经兜圈子一个多小时了,谁能告诉我为什么这不起作用?

我需要创建一个文件夹数组,并使用该数组触发 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 开关。

关于windows - cmd.exe 不递增 for 循环中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29279849/

相关文章:

python - App Engine 批量加载程序下载数据损坏文件

Java "Could not find or load main class"(路径和类路径已设置)

file - BAT 文件执行后保持 CMD 打开

Python 导入包 gpiosimulator 失败

ruby - 从windows获取环境变量

c++ - 如何将 PDCurses 链接到 Windows 上的 C++ 应用程序?

c# - 为用户禁用屏幕保护程序

PostgreSQL - 批处理+脚本+变量

Java 运行 .bat 文件时出现问题

scripting - 清理断开连接的网络驱动器