中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-07 01:00
48,040 主题排行 / 350,125 发帖 / 今日 1 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » 路径提问
可打印版本  737 / 1
第1楼 lieeq2000 发表于 2008-01-01 04:05
新手上路 发帖 5 积分 11
路径提问
1、cd.>"%tmp%\tmp.txt"
setlocal enabledelayedexpansion
2、for /f "tokens=1-3*" %%i in ('dir /a-d /tc /s^|findstr ":"') do (
3、 if "!var:~1,1!"==":" set route=!var!
if not "!route!"=="!var!" if not "%%j"=="" echo %%i %%j !route:~0,-3!\%%l>>"%tmp%\tmp.txt"
)
4、sort<"%tmp%\tmp.txt">"%tmp%\list.txt"
del "%tmp%\tmp.txt"
start "" "%tmp%\list.txt"

问题1、 for /f "tokens=1-3*" 是什么意思??CD.是不是转到当前状态?
问题2、 ('dir /a-d /tc /s^|findstr ":"') 中的 /tc /s^|findstr是什么意思?

如果可以的话,下面也说明一下,谢谢高手了。
新手们也想知道,对吧。期待高手。

[ Last edited by lieeq2000 on 2008-1-1 at 04:10 AM ]
第2楼 HAT 发表于 2008-01-01 12:10
版主 发帖 5,017 积分 9,023
for循环中的tokens表示取文件的第几列,tokens=1代表取第一列,tokens=1,2代表取第一列和第二列,tokens=1-3代表取第一到第三列

cd.的意思是切换到当前目录,不过在这里是为了结合后面的重定向符号>生成一个空文件,类似的方法有type nul>"%tmp%\tmp.txt"

/tc /s都是dir命令的参数,具体请查看帮助dir /?

^是转义符,对后面的管道命令|进行转义,整体来看就是把dir命令的结果通过管道传递给findstr命令
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023