【问题标题】:Renaming a file and remove 'dot' and replace it with' _'重命名文件并删除“点”并将其替换为“_”
【发布时间】:2011-07-08 15:00:55
【问题描述】:

我在一个文件夹中有一组文件,其名称类似于 abcd.15678 我想删除 .并将其替换为 _

请建议使用 windows 命令来执行此操作

【问题讨论】:

标签: windows command


【解决方案1】:
【解决方案2】:

此解决方案由 Chris Hoffman 从How to Batch Rename Files in Windows: 4 Ways to Rename Multiple Files 转发

PowerShell 为在命令行环境中重命名文件提供了更大的灵活性。使用 PowerShell,您可以将一个命令(在 PowerShell 术语中称为“commandlet”)的输出通过管道传输到另一个命令,就像在 Linux 和其他类 UNIX 系统上一样。

首先,打开 Powershell ISE,然后使用以下命令导航到包含您要重命名的文件和文件夹的目录(文件夹):

cd "C:\your\directory\"

您需要的两个重要命令是 Dir,它列出当前目录中的文件,以及 Rename-Item,它重命名一个项目(在本例中是一个文件)。将 Dir 的输出通过管道传输到 Rename-Item 即可。

启动 PowerShell ISE 后,使用 cd 命令进入包含文件的目录。您应该将文件放在它们自己的目录中,以免意外重命名其他文件。

例如,假设我们不想在文件名中使用点字符 - 我们宁愿使用下划线。

以下命令列出当前目录中的文件并将列表通过管道传递给 Rename-Item。 Rename-Item 将每个点字符替换为下划线。

Dir | Rename-Item –NewName { $_.name –replace ".","_" }

如果您需要帮助执行其他更高级的操作,请咨询 Microsoft’s documentation on the Rename-Item commandlet

【讨论】:

    【解决方案3】:

    没有执行此操作的 windows 命令。您应该考虑编写某种脚本来获取目录列表并枚举每个条目:将点更改为下划线,并适当地调用 windows rename 命令。

    【讨论】:

      【解决方案4】:

      实际上这应该可行:

      Dir | Rename-Item –NewName { $_.Name.Replace(".","_") }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-19
        • 1970-01-01
        相关资源
        最近更新 更多