仅列出指定文件夹的子文件夹中的文件

时间:2013-03-24 23:35:07

标签: cmd

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

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

提前致谢!

2 个答案:

答案 0 :(得分: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"
  )

如果你只想要文件名。

答案 1 :(得分: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