powershell 删除特定字符之间的文件名

wnavrhmk  于 2022-12-29  发布在  Shell
关注(0)|答案(1)|浏览(149)

我需要有关powershell的帮助
我需要删除第二个和第三个减号“-”之间的数字10 ABCDE-2020 - 10 - 20.txt HIJKL-2020 - 10 - 20.txt MNOPQ-2020 - 10 - 20.txt RSTUV-2020 - 10 - 20.txt
到目前为止,这是我得到的重命名逻辑,但我有问题得到的文件名

foreach ($s in $files) {
 $newString = $s-replace "-", ""
 $count = $s.Length - $newString.Length
 
 if ($count -ge 3) {
     $s01=$s.indexof("-",0)
     $s02=$s.indexof("-",$s.indexof("-",0)+1)
     $s.substring(0,$s01) + $s.substring($s02)
 }
}

第一个月
.fullname这将得到我的完整路径,但我的文件夹名称包含-太,.name将得到我唯一的文件名,但无论如何,只有文件名重命名?

00jrzges

00jrzges1#

根据您的代码,还不清楚您的总体目标是删除日期还是仅删除-10,但这里有一些想法。

$string -replace '\-\d{4}\-\d{2}\-\d{2}'

ABCDE.txt

$string -replace '(\-\d\d\W)','-'

ABCDE-2020-20.txt

$string -replace '(\-\d\d\b)'

ABCDE-2020.txt

相关问题