中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 路径提问 上一主题 | 下一主题
lieeq2000
新手上路




积分 11
发帖 5
注册 2007-10-21
状态 离线
『楼 主』:  路径提问

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 ]

2008-1-1 04:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  

for循环中的tokens表示取文件的第几列,tokens=1代表取第一列,tokens=1,2代表取第一列和第二列,tokens=1-3代表取第一到第三列

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

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

^是转义符,对后面的管道命令|进行转义,整体来看就是把dir命令的结果通过管道传递给findstr命令



2008-1-1 12:10
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: