0

这个问题可能有一个简单的解决方案,但我就是找不到。

假设我正在使用 DIR 命令生成文件夹“E:\Documents”中的 .txt 文件列表。如何确保仅列出“E:\Documents”下一级的 .txt 文件(即在直接子文件夹中),而不是“E:\Documents”本身中的文件。"E:\Documents\\" 或 "E:\Documents\*\" 似乎不起作用。

提前致谢!

4

2 回答 2

0

这可以在没有dir

for /d %%d in ("C:\basedir\*") do for %%f in ("%%~fd\*.txt") do echo %%~ff

如果您不仅需要文件名,还需要有关文件的详细信息,请添加相应的限定符,例如:

for /d %%d in ("C:\basedir\*") do for %%f in ("%%~fd\*.txt") do echo %%~azff
  • a→ 文件的属性
  • t→ 文件的时间戳
  • z→ 文件大小

详情请参阅help for

于 2013-03-25T12:12:07.010 回答
0
FOR /f "delims=" %%i IN ('dir /b/ad') DO IF EXIST ".\%%i\*.txt" DIR ".\%%i\*.txt"

那就是如果你想要 DIR 格式的输出 - 带有标题

FOR /f "delims=" %%i IN ('dir /b /ad') DO IF EXIST ".\%%i\*.txt" (
  FOR /f "delims=" %%q IN ('DIR /b ".\%%i\*.txt" ') DO ECHO ".\%%i\%%q"
  )

如果你只想要文件名。

于 2013-03-24T23:54:02.293 回答