中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: for 语法里集合的问题 上一主题 | 下一主题
hake
初级用户





积分 103
发帖 43
注册 2006-12-22
状态 离线
『楼 主』:  for 语法里集合的问题

@echo off&setlocal EnableDelayedExpansion
set a=1
for /f "delims=" %%i in ('dir /a-d/b/s *.txt') do (
        if not "%%~ni"=="%~n0" (
        ren "%%i" "%%~ni!a!%%~xi"
        set/a a+=1
        )
)



那括号里是什么意思?望大侠们帮助解决,不胜感激


──────────────── 版务记录 ────────────────
执行:namejm
原标题:for 语法里集合的问题
说明:因标题过于模糊,不便于论坛的搜索和管理,请在三日内修改标题。
提示:修改标题请在当前帖的右下脚点
编辑修改完毕之后按 编辑帖子 即可。
处罚:因刚脱离论坛新人阶段不久,暂时不予处罚;若三日之后尚未修改标题,将扣除
  2点积分,以示惩罚,并由版主强制修改标题。请点击
这里阅读论坛发帖规定,
  以避免在今后的讨论中违规发帖。
──────────────── 版务记录 ────────────────


[ Last edited by namejm on 2006-12-29 at 05:24 PM ]

2006-12-30 06:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
NaturalJ0
银牌会员




积分 1181
发帖 533
注册 2006-8-14
状态 离线
『第 2 楼』:  

意思是把两个单引号中命令执行后的输出当作一个集合给 FOR 来处理。
直接写 for ... ('dir /a-d/b/s *.txt ') ...



先写 dir /a-d/b/s *.txt>tempfile.txt
再写 for ... (tempfile.txt) ...

的结果是一样的,但直接写避免了临时文件的产生。

2006-12-30 06:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hake
初级用户





积分 103
发帖 43
注册 2006-12-22
状态 离线
『第 3 楼』:  

谢谢NaturalJ0
但我还有对里面的开关有些迷惑,能不能详细点?

2006-12-30 06:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
NaturalJ0
银牌会员




积分 1181
发帖 533
注册 2006-8-14
状态 离线
『第 4 楼』:  

你用下论坛搜索功能,有人写好的 FOR 详解,你仔细看下,写的很好,相当的全。

2006-12-30 06:24
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: