在 cmd 提示符下使用获取没有路径和扩展名的文件名

Get filename without path and extension using in cmd prompt

我有一个包含子文件夹和文件的文件夹。

我希望此文件夹中的文件名没有路径和扩展名。

我不希望子文件夹中有任何文件名(无递归性)。

在 Powershell 中,应该是这样的:

ls -file | % { $_.basename }

如果你想 运行 从 cmd shell 执行此操作,你可以这样做:

powershell.exe -command { ls -file | % { $_.basename } }

Powershell 像这样的东西非常棒,所以除非你真的必须使用普通的旧 CMD.exe,否则我建议使用这个。

for /f "tokens=*" %i in ('dir /b /a-d') do echo %~ni

要在批处理文件中使用它,请将百分号加倍:

for /f "tokens=*" %%i in ('dir /b /a-d') do echo %%~ni