【问题标题】:Get filename without path and extension using in cmd prompt在 cmd 提示符下获取不带路径和扩展名的文件名
【发布时间】:2016-03-28 14:01:06
【问题描述】:

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

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

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

【问题讨论】:

    标签: cmd path filenames file-extension subdirectory


    【解决方案1】:
    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 制作txt文件时,它只给出最后一个文件名。
    • 仅添加 >f.txt 会覆盖文件,导致文件仅包含姓氏。使用>>f.txt(附加)或将命令括在括号中:(for /f .... do echo %%~ni ) >f.txt 以获取完整列表。
    【解决方案2】:

    在 Powershell 中,应该是这样的:

    ls -file | % { $_.basename }

    如果你想从 cmd shell 运行它,你可以这样做:

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

    Powershell 非常适合这样的事情,所以除非你真的必须使用普通的旧 CMD.exe,否则我建议使用它。

    【讨论】:

    • 哦,谢谢。但我不知道如何使用powershell。我得到了在 cmd 中使用它的答案。
    • 检查一下,如果你有时间,它会让你的脚本生活变得更轻松:)
    猜你喜欢
    • 2011-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-15
    • 2010-09-27
    • 2012-10-11
    • 2011-12-08
    相关资源
    最近更新 更多