使用Win cmd.exe列出仅显示文件名(无路径)的文件夹及其子文件夹中的所有文件的命令

时间:2019-06-10 12:53:26

标签: powershell cmd windows-10

我正在寻找一个使用cmd.exe(Win 10)的命令,该命令将按字母顺序列出文件夹及其子文件夹中的所有文件,而与路径无关,并且将仅显示文件名< / em>(无路径)。

我熟悉的命令(例如,“ dir .. \ samplefolder / b / s / AD / o:n> filelist.txt”)都包含输出中的路径,因此不是我在寻找什么。

谢谢。

2 个答案:

答案 0 :(得分:1)

(for /r "c:\startfolder" %%A in (*) do echo %%~nxA)|sort

(这是批处理文件的语法;要直接在命令行上使用,只需将%%替换为每个%

for /r遍历 r 遍历所有(非隐藏)文件。

%%~nxA仅显示 n 和e x 扩展名(如果只希望名称不带扩展名,请使用%%~nA

有关这些修饰符的更多信息,请参见for /?

答案 1 :(得分:0)

如果计算机在当前的PowerShell 5或更高版本上,则可以使用:

None

在.bat文件脚本中。

(Get-ChildItem -Recurse -File -Path '..\samplefolder').Name |
    Sort-Object |
    Out-File -PSPath 'filelist.txt' -Encoding ascii

如果计算机没有当前的PowerShell,则应对其进行升级或使用:

>"filelist.txt" powershell -NoLogo -NoProfile -Command ^
    "(Get-ChildItem -Recurse -File -Path '..\samplefolder').Name | Sort-Object"