Answers:
使用以下命令:
dir /b /a /s
如果需要将输出保存到文件,可以使用:
dir /b /a /s >> list_of_names.txt
编辑实际上,上述解决方案没有达到原始问题的目标。我从问题中注意到的一件事是帖子要求递归列表。另一个答案缺乏,所以我认为在另一个回答者的答案中添加“/ s”就可以了
for /f %a in ('dir /b /s') do @echo %~na
试试这个:
for /f "delims=" %a in ('dir /b /s') do @echo %~na
键入有关如何工作以及它正在做什么的更多信息 for /?
for /r %i in (*) do @echo %~ni
要么
forfiles /s /c "cmd /c if @isdir==FALSE noquotes.bat @fname"
假设文件noquotes.bat
在您%PATH%与此内容
@echo %~1
for / r方法解释
for /r
以递归方式遍历当前目录(可以指定目录for /r drive:\path\
,假定当前目录),并对集合中匹配的每个文件执行do指定的命令(*)
。该集合(.)
仅匹配目录。@echo%~ni此命令在提示符下按原样运行。如果将其放在批处理文件中,请将报价加倍。即for /r %%i in (*) do @echo %%~ni
forfiles方法解释
/s
枚举当前和所有子目录
/c
在引号内执行命令,
@isdir
并且@fname
是在命令字符串中发出的符号
额外的批处理文件noquotes.bat
有助于通过剥离带有%~1的双引号(参数1),
forfiles
还允许您指定从头开始的路径forfiles /P C:\Windows ...
列出所有文件,裸,递归,使用属性(不是目录)(仅限文件)
dir / B / S / A:-D
C:\ test \ cache> dir / B / S / A:-D
C:\ test \ cache \ 7 \ 0f \ 7b50ed0522645513da90345120eaf0f7 C:\ test \ cache \ d \ 23 \ 814644aa6a8195c91e54d2f7bb64e23d
dir /b /s
]递归扫描时,我也在文件名之前获得了文件路径,这是我不想要的。“所以,你告诉OP尝试对他们已经尝试过的内容进行微不足道的修改,你的答案就会证明它会产生与OP尝试时相同的结果(即,不是他们想要的)。