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