使用 Powershell 删除随机生成的文件扩展名

Use Powershell to remove randomly generated file extensions

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

所以我有文件

abcd.txt.161205042500

efgh.txt.112845035688

等等

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

我找到的所有内容都是可以替换字符串的地方,但我在这里没有任何可搜索的内容。

感谢任何帮助。

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

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