如何在 DOS/Windows 中递归列出文件名(仅)?

Dav*_*d B 22 command-line dir filenames windows-xp

可能的重复:
在命令提示符中递归获取裸文件名

我想递归列出目录中的所有文件,仅显示文件名(没有扩展名也没有完整路径)。我正在使用 Windows/DOS。

我能得到的最接近的dirdir /s /b,但它列出了完整路径并显示了扩展名。

好吧,也许我可以忍受扩展,但我必须摆脱路径!

有任何想法吗?

afr*_*ier 31

cd /d C:\Path\To\Source\Folder
for /r %i in (*) do @echo %~ni
Run Code Online (Sandbox Code Playgroud)

如果需要将列表保存到文件中,请附加>> C:\Path\To\list_file.txtfor命令的末尾。

如果您最终想要扩展名,请更改%~ni%~nxi

要在批处理文件中使用,请将所有更改%%%

  • 如果需要路径和名称和扩展名,请将 %~ni 更改为 %~pnxi (6认同)

uSl*_*ckr 8

如果你愿意加载powershell,这个命令应该可以。

get-childitem "d:\acc" -recurse|foreach {$_.Basename}
Run Code Online (Sandbox Code Playgroud)


Dav*_*emy 5

执行以下操作应该可以满足您的需求:

@for /f "delims=" %a in ('Dir /s /b %systemdrive%') do echo %~na

只需将输出通过管道传输到文件,并在需要时从那里使用它。