【问题标题】:Rename files having no extension重命名没有扩展名的文件
【发布时间】:2018-08-06 01:00:33
【问题描述】:

我们如何将一个文件夹中的所有文件都重命名为“.something”。 我已经尝试过ren *.* *.jpeg 和其他一些,但没有任何效果

【问题讨论】:

标签: windows powershell command-line cmd


【解决方案1】:

"rename *. *.jpg" 奇怪地会弹出“命令的语法不正确”。如果该位置没有没有扩展名的文件。我以为命令一开始就停止工作了!所以只要让人们知道他们是否有同样的事情出现。

【讨论】:

    【解决方案2】:

    试试这个:

    Get-ChildItem "c:\temp" -file "*." | rename-item -NewName {"{0}.something" -f $_.fullname}
    

    【讨论】:

    • 这个太难尝试了...我只是想要一个简单的命令...😄如果你明白,但感谢您的帮助?
    • 它是一个真正的命令 PowerShell,其他命题基于别名:)
    • 这对 Powershell 来说很棒,谢谢。
    【解决方案3】:

    您所做的一切都是正确的,但是您应该使用 *. 而不是 *.,因为 *.* 搜索所有具有所有扩展名的文件,但前者搜索所有没有扩展名的文件,这就是您想要的。所以这是你的代码:

    rename *. *.something
    

    您可以参考this的回答以获得更多帮助。

    【讨论】:

      【解决方案4】:

      略有不同:

      dir -filter *. -file | rename-item -NewName {"$($_.name)`.jpg"}
      

      【讨论】:

        【解决方案5】:

        这已经过测试并且对我有用:

        ls -file | ?{$_.extension -eq ''} | %{ren $_ ($_.name + '.jpeg')}
        

        【讨论】:

          【解决方案6】:

          * 匹配任何扩展名。你想匹配 no 扩展名,所以不要提供一个:ren *. *.jpeg

          以上仅在 cmd 中有效——PowerShell 的通配符以不同的方式工作,并且大多数情况下不会对扩展做任何特殊的事情。更重要的是,PowerShell 中的批量重命名工作方式不同。所以:

          dir -Filter "*." -File | ren -NewName { $_.name -replace "$", ".jpeg" }
          

          【讨论】:

          • 这给了我这个错误:ren:无法重命名,因为项目位于 '*.'不存在。
          • @EBGreen:正确,仅适用于 cmd。 PowerShell 版本涉及更多,请参阅编辑。 (虽然可能有更优雅的方式。)
          • 你解释得很好,就像之前我试图通过 powershell 运行它.. 通过使用简单的 cmd 'ren ......' 命令... & 这就是为什么它没有工作....酷
          【解决方案7】:

          对我来说就像ren * *.jpeg 工作一样简单。

          【讨论】:

          • 这给了我一个无效的路径
          • 双重检查:在 Windows cmd 中重命名没有扩展名的 3 个文件完成了这项工作。
          • 啊……我错了,我假设是 powershell。您是正确的,它将 .jpeg 添加到所有文件中。 所有文件包括带有扩展名的文件。
          • 是的,只给没有扩展名将是 ren *。 *.jpeg
          猜你喜欢
          • 2010-11-04
          • 2011-12-28
          • 1970-01-01
          • 2016-12-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多