powershell: удалить символы в строке - PullRequest
1 голос
/ 16 февраля 2020

У меня есть список файлов в этом формате NameSer ie .S0E1.randomcharacters.mkv, где я хочу удалить случайные символы, чтобы получить NameSer ie .S0E1.mkv

У меня есть следующее, но для этого мне нужно знать случайные символы, которые, к сожалению, случайны.

#rename files
Get-ChildItem $Location | Rename-Item -NewName {$_.Name.Replace("[480p]","") }

У кого-нибудь есть идея?

Ответы [ 2 ]

2 голосов
/ 16 февраля 2020

Вы можете использовать

(.*?)[^.]+\.([^.]+)$

и заменить его на

$1$2

См. демонстрацию на regex101.com .
Кроме того, вы можете разбить точку и программно склеить массив обратно.

0 голосов
/ 16 февраля 2020

Попробуйте это:

#rename files
Get-ChildItem $Location | Rename-Item -NewName {$_.Name.Split(".")[0..1] -join ".$($_.Name.Split(".")[3])" }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...