中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 16:03
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 这段批处理什么意思?for /f "usebackq tokens=1*
可打印版本  1,612 / 4
第1楼 linuxzhen 发表于 2008-08-10 11:39
新手上路 发帖 2 积分 8
这段批处理什么意思?for /f "usebackq tokens=1*
for /f "usebackq tokens=1* delims=/" %%a in (`dir /b "C:\pdf\"`)

紧急求助
第2楼 dosyenanjs 发表于 2008-08-10 11:42
初级用户 发帖 11 积分 22
提取整行的所有列,忽略空格.
第3楼 haiou327 发表于 2008-08-10 13:07
高级用户 发帖 348 积分 713
在set输出的内容中/作为分隔符,分为两列,从第一个/号左边作为一段赋值%%a,从第一个/号右边开始全部视为了一段赋值%%b

如DIR的内容为
c:\pdf\1.txt
c:\pdf\2.txt
c:\pdf\3.rar
c:\pdf\4.bmp

那么\作分隔符,
c:
c:
c:
c:
第一列赋值%%a

pdf\1.txt
pdf\2.txt
pdf\3.rar
pdf\4.bmp
这些全部赋值%%b

但是你这里用到的是DIR/B的参数只会输出文件名,所以tolens=1* delims=\是多余的.你这句是规范的.
改成如下即可for /f "delims=*" %%a in ('dir /b d:\qq\') do (
echo %%a

结合你上面的举两个例你看看
以下为例1




例2


[ Last edited by haiou327 on 2008-8-10 at 01:59 PM ]
第4楼 haiou327 发表于 2008-08-10 13:09
高级用户 发帖 348 积分 713


等同于



路径没有空格,可以不用tokens参数

[ Last edited by haiou327 on 2008-8-10 at 01:57 PM ]
第5楼 zaixinxiangnian 发表于 2010-03-18 16:09
初级用户 发帖 106 积分 151 来自 河南省
谢谢HAIOU327的回答
还是我们这里的热情,,,我们是初学你那两个例子看不懂,你能不能一句一句的解下
太感谢你了
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023