@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