标题: [求助]关于for和dir命令的一点疑惑
[打印本页]
作者: stornager
时间: 2007-5-27 09:57
标题: [求助]关于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 ]
作者: lp1129
时间: 2007-5-27 10:07
你搞错了>和>>的用法,只用>的话,会替换掉以前的所有内容,只生成最后一次的文本,按你的想法应该用>>
@echo off
color 1f
for /f "usebackq" %%i in (`dir /a-s /b /s c:\`) do echo %%~dpi>>a.txt
pause
作者: sonicandy
时间: 2007-5-27 11:46
%%~dpi扩展应该是扩展到当前的目录,而不是真实文件所在的目录。
作者: stornager
时间: 2007-5-28 17:43
只怪本人弄巧成拙,要想得到c:\所有根目录和子目录中具有系统属性的文件的完整路径,一个命令即可搞定,即dir /a-s /b /s c:\|more
作者: lxmxn
时间: 2007-5-28 18:16
Quote: |
Originally posted by stornager at 2007-5-28 17:43:
只怪本人弄巧成拙,要想得到c:\所有根目录和子目录中具有系统属性的文件的完整路径,一个命令即可搞定,即dir /a-s /b /s c:\|more |
|
貌似这个错了. dir /as
dir /s/b/as/p c:\
作者: stornager
时间: 2007-5-28 18:59
版主,dir好象没有as这个参数......我按照标准的dir命令参数写的,它没错吧??
作者: dikex
时间: 2007-5-28 19:10
/as是/a的其中一种,还可以是/ad,/ar等
/A 显示具有指定属性的文件。
attributes D 目录 R 只读文件
H 隐藏文件 A 准备存档的文件
S 系统文件 - 表示“否”的前缀
作者: lxmxn
时间: 2007-5-28 20:12
Quote: |
得到c:\所有根目录和子目录中具有系统属性的文件的完整路径 |
|
和
你dir的/a-s参数的作用不符。
作者: stornager
时间: 2007-5-28 22:02
哦,然来如此