【发布时间】:2016-03-28 14:01:06
【问题描述】:
我有一个包含子文件夹和文件的文件夹。
我希望此文件夹中的文件名没有路径和扩展名。
我不希望子文件夹中有任何文件名(没有递归性)。
【问题讨论】:
标签: cmd path filenames file-extension subdirectory
我有一个包含子文件夹和文件的文件夹。
我希望此文件夹中的文件名没有路径和扩展名。
我不希望子文件夹中有任何文件名(没有递归性)。
【问题讨论】:
标签: cmd path filenames file-extension subdirectory
for /f "tokens=*" %i in ('dir /b /a-d') do echo %~ni
要在批处理文件中使用它,请将百分号加倍:
for /f "tokens=*" %%i in ('dir /b /a-d') do echo %%~ni
【讨论】:
>f.txt 会覆盖文件,导致文件仅包含姓氏。使用>>f.txt(附加)或将命令括在括号中:(for /f .... do echo %%~ni ) >f.txt 以获取完整列表。
在 Powershell 中,应该是这样的:
ls -file | % { $_.basename }
如果你想从 cmd shell 运行它,你可以这样做:
powershell.exe -command { ls -file | % { $_.basename } }
Powershell 非常适合这样的事情,所以除非你真的必须使用普通的旧 CMD.exe,否则我建议使用它。
【讨论】: