使用 Powershell 命令或脚本从 fileanme 中删除子字符串

Remove substring from fileanme using Powershell command or script

我知道这是非常基础的,已经在@多个地方进行了讨论,但我仍然找不到我的答案,所以我在这里开始一个新话题。

我已经开始使用 powershell,我需要编写一个脚本来从文件名中删除子字符串。 例如我有以下文件名 -

TevarMadamiyan.txt
TevarLetsCelebrate.txt
TevarMMsdfORO.txt
TevarSupper.txt

问题是,我需要从所有文件中删除名为 "Tever" 的文件名的初始部分。我怎么做 ?

到目前为止,我已经尝试了以下方法,但它不起作用,因为新文件名变成了空字符串 -

Get-ChildItem | Rename-Item -NewName {$_.Name -replace "Tever.*",""}

.. 通过使用子字符串。

(Get-ChildItem *.txt) | % { Rename-Item $_ (($_.Name).ToString().Substring(5)) }

你在 Tever 中有错字...无论如何 .* 将匹配整个字符串,这不是你想要的。 您还想对 basename 而不是 name.

执行重命名操作

-whatif 将在不实际执行重命名的情况下向您显示结果。

Get-ChildItem -Path yourpath -Filter Tevar*.txt | 
  Rename-Item -NewName { ($_.basename -replace 'Tevar') + $_.Extension} -WhatIf