![]() |
中国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 |