В приведенном ниже решении для переименования файлов, взятых из ответа на мой вопрос Ошибка переименования элемента , что делают следующие биты кода?
^\d{4}
e={$Matches[1]}
Rename-item -Newname {"{0:D4} - sp - C - {1}" -f ++$Count.Value,$_.Name}
Для 1. Я думаю, что это говорит о четырехзначном числе, но я хотел бы понять используемую запись.
Для 2. $Matches
нигде не установлено, это переменная, специфичная для Select-Object
?
Для 3. что делает {0:D4}
и {1}
в концеиз той же строки.Кроме того, эта строка объединяет две строки с разделителем запятыми?
$Count = [Ref][math]::Max(1000,
[int](Get-ChildItem -Path $Folder -Filter *.sql -File|
Where-Object Name -match '^(\d{4}) - sp - C -' |
Select-Object @{n='Count';e={$Matches[1]}} -Last 1).Count)
Get-ChildItem -Path $Folder -Filter *.sql -File |
Where-Object Name -NotMatch '^\d{4} - sp - C - ' |
Rename-item -Newname {"{0:D4} - sp - C - {1}" -f ++$Count.Value,$_.Name}