我在cmd.exe中运行以下命令以递归方式列出文件...
for /r %i in (*) do @echo %~xi %~zi %~ti %~fi
..得到这样的输出:
.ext 187392 15/01/2014 14:16 C:\path\to\filename\f.ext
但是我可以将文件所有者添加到此输出中吗?我正在寻找dir /q
给我的同一位老板。我也希望得到文件创建时间,而不是我认为%~ti
给我的最后访问时间。
如果我不能使用for,我可以使用for
和dir
的组合来实现吗?
答案 0 :(得分:1)
< lang-dos - >
@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir"
for /r "%sourcedir%" %%i in (*.pdf) do (
SET "grab="
FOR /f "skip=5tokens=1,2,4delims=\ " %%a IN ('dir /q /tc /-c "%%~fi"') DO IF NOT DEFINED grab (
SET grab=Y
echo %%~xi %%~zi %%a %%b %%c %%~fi
)
)
GOTO :eof
您需要更改sourcedir
的设置以适合您的具体情况。我使用了*.pdf
的文件掩码来使测试结果更清晰。你想要不同?改变它!