【问题标题】:Use Powershell to remove randomly generated file extensions使用 Powershell 删除随机生成的文件扩展名
【发布时间】:2017-04-20 10:36:07
【问题描述】:

好的,所以我有一个装满文件的文件夹。这些文件中的每一个都添加了一个 12 个字符的扩展名(日期时间戳)(在文件交付到另一个系统时每天生成)。

所以我有文件

abcd.txt.161205042500

efgh.txt.112845035688

等等

我希望 PS 批量重命名这些文件。基本上修剪文件夹中每个文件的文件名的最后 13 个字符。

我找到的所有东西都可以替换字符串,但我没有任何东西可以在这里搜索。

感谢任何帮助。

【问题讨论】:

标签: powershell command file-rename


【解决方案1】:

如果输出看起来正确,请删除-whatif

Get-ChildItem *.txt.* -file |Foreach { if ($_.Extension.length -eq 13) {
    rename-item $_.FullName -NewName $_.Basename -whatif
  }
}

【讨论】:

    【解决方案2】:
    Get-ChildItem  "c:\temp" -file  | where name -match ".\.txt\.[0-9]{12}$" | %{rename-item $_.FullName $_.Basename}
    

    短版

    gci "c:\temp" -file  | ? name -m ".\.txt\.[0-9]{12}$" | %{rni $_.Fullname $_.Basename}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-28
      • 2017-06-07
      • 2012-05-14
      相关资源
      最近更新 更多