Dav*_*d B 22 command-line dir filenames windows-xp
可能的重复:
在命令提示符中递归获取裸文件名
我想递归列出目录中的所有文件,仅显示文件名(没有扩展名也没有完整路径)。我正在使用 Windows/DOS。
我能得到的最接近的dir是dir /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.txt到for命令的末尾。
如果您最终想要扩展名,请更改%~ni为%~nxi
要在批处理文件中使用,请将所有更改%为%%
如果你愿意加载powershell,这个命令应该可以。
get-childitem "d:\acc" -recurse|foreach {$_.Basename}
Run Code Online (Sandbox Code Playgroud)
执行以下操作应该可以满足您的需求:
@for /f "delims=" %a in ('Dir /s /b %systemdrive%') do echo %~na
只需将输出通过管道传输到文件,并在需要时从那里使用它。