中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-10 09:03
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请问,在for循环中怎么能加一个每次自增的变量 查看 868 回复 3
楼 主 请问,在for循环中怎么能加一个每次自增的变量 发表于 2008-11-11 05:03 ·  中国 上海 闵行区 电信
新手上路
积分 8
发帖 10
注册 2008-11-11 03:13
17年会员
UID 130613
性别 男
状态 离线
我是新手啊,
我想取出一个目录下所有的jpg文件的名字,放在一个文本里
set n=0
for /l %%1 in (*.jpg) do echo %n%.%%1>>jpgs.txt&set /a n+=1&echo %n%
echo %n%
我这样写的,n每次都是0,最后出来的倒是总的次数

再顺便问下,如果要取所有的jpg和bmp文件名改怎么写啊

麻烦各位大侠赐教
2 发表于 2008-11-11 05:54 ·  中国 台湾 中华电信(HiNet)数据中心
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
有没有测试 for /l 的用法啊
@echo off&for /f "delims="  %%i in ('dir/a/b *.jpg') do set /a n+=1&call echo %%n%%
pause

也可以用變量延遲 setlocal enabledelayedexpansion,多看看基礎教程啊。
3 发表于 2008-11-11 09:48 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
建议阅读关于for的教程:批处理室教程收集专用帖

并区分以下用法:
for
for /l
for /f
for /r
for /d
4 发表于 2008-11-11 12:25 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
20年会员
UID 42843
性别 男
来自 四川南充
状态 离线
SETLOCAL ENABLEDELAYEDEXPANSION
set n=0
for /f "delims=" %%l in ('dir/a/b *.jpg') do (echo !n!.%%l>>jpgs.txt&set /a n+=1&echo !n!)
echo %n%
论坛跳转: