![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-04 18:27 |
共 48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]关于for和dir命令的一点疑惑 |
| 可打印版本 926 / 8 |
| 第1楼 stornager | 发表于 2007-05-27 09:57 |
| 中级用户 发帖 131 积分 328 | |
|
[求助]关于for和dir命令的一点疑惑 @echo off
color 1f for /f "usebackq" %%i in (`dir /a-s /b /s c:\`) do echo %%~dpi>a.txt pause 我想使上面的代码运行得到c:\所有根目录和子目录中具有系统属性的文件的完整路径,将其保存在a.txt中,然而输出的结果是C:\Documents and Settings\Administrator\桌面\ 我在论坛上搜索了很多关于for和dir应用方面的帖子,对其原理有了一定了解, 但是关于上面的输出结果我实在想不通,请高手指点!! [ Last edited by stornager on 2007-5-27 at 08:46 PM ] |
|
| 第2楼 lp1129 | 发表于 2007-05-27 10:07 |
| 初级用户 发帖 92 积分 186 | |
|
你搞错了>和>>的用法,只用>的话,会替换掉以前的所有内容,只生成最后一次的文本,按你的想法应该用>>
@echo off color 1f for /f "usebackq" %%i in (`dir /a-s /b /s c:\`) do echo %%~dpi>>a.txt pause |
|
| 第3楼 sonicandy | 发表于 2007-05-27 11:46 |
| 中级用户 发帖 91 积分 273 | |
|
%%~dpi扩展应该是扩展到当前的目录,而不是真实文件所在的目录。
|
|
| 第4楼 stornager | 发表于 2007-05-28 17:43 |
| 中级用户 发帖 131 积分 328 | |
|
只怪本人弄巧成拙,要想得到c:\所有根目录和子目录中具有系统属性的文件的完整路径,一个命令即可搞定,即dir /a-s /b /s c:\|more
|
|
| 第5楼 lxmxn | 发表于 2007-05-28 18:16 |
| 版主 发帖 4,938 积分 11,386 | |
Originally posted by stornager at 2007-5-28 17:43: 貌似这个错了. dir /as |
|
| 第6楼 stornager | 发表于 2007-05-28 18:59 |
| 中级用户 发帖 131 积分 328 | |
|
版主,dir好象没有as这个参数......我按照标准的dir命令参数写的,它没错吧??
|
|
| 第7楼 dikex | 发表于 2007-05-28 19:10 |
| 高级用户 发帖 366 积分 788 | |
|
/as是/a的其中一种,还可以是/ad,/ar等
/A 显示具有指定属性的文件。 attributes D 目录 R 只读文件 H 隐藏文件 A 准备存档的文件 S 系统文件 - 表示“否”的前缀 |
|
| 第8楼 lxmxn | 发表于 2007-05-28 20:12 |
| 版主 发帖 4,938 积分 11,386 | |
得到c:\所有根目录和子目录中具有系统属性的文件的完整路径 和 你dir的/a-s参数的作用不符。 |
|
| 第9楼 stornager | 发表于 2007-05-28 22:02 |
| 中级用户 发帖 131 积分 328 | |
|
哦,然来如此
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |