这个问题可能有一个简单的解决方案,但我就是找不到。
假设我正在使用 DIR 命令生成文件夹“E:\Documents”中的 .txt 文件列表。如何确保仅列出“E:\Documents”下一级的 .txt 文件(即在直接子文件夹中),而不是“E:\Documents”本身中的文件。"E:\Documents\\" 或 "E:\Documents\*\" 似乎不起作用。
提前致谢!
这个问题可能有一个简单的解决方案,但我就是找不到。
假设我正在使用 DIR 命令生成文件夹“E:\Documents”中的 .txt 文件列表。如何确保仅列出“E:\Documents”下一级的 .txt 文件(即在直接子文件夹中),而不是“E:\Documents”本身中的文件。"E:\Documents\\" 或 "E:\Documents\*\" 似乎不起作用。
提前致谢!
这可以在没有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
。
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"
)
如果你只想要文件名。