У меня есть файловая система, в которой есть файлы на разных уровнях папок с датой в имени файла в неправильном формате даты.
Я ищу использовать powershell для просмотра и обновления их до правильной даты.формат (дата ISO).
Это то, что я выяснил до сих пор (для переключения yyyy.mm.dd на yyyy-mm-dd), но это не совсем правильно:
Get-ChildItem -File -Recurse | % { Rename-Item -Path $_.PSPath -NewName $_.Name.replace("201[0-9]\.[0-9][0-9]\.[ -~].","201[0-9]-[0-9][0-9]-[ -~].")}
Следующий скрипт успешно заменяет точки на тире, но он меняет все точки на тире, и я хочу быть осторожным, чтобы не менять любые точки после 10-го символа и только в файлах, которые соответствуют указанному форматированию (например, 201 [0-9]. [0-9] [0-9]. [0-9] [0-9]).
Get-ChildItem -Path $_.PSPath -Filter "*.pdf" | Rename-Item -NewName { $_.BaseName.Replace(".","-") + $_.Extension }
Я знаю, что подхожу к этому первому, ноЯ не совсем там.У кого-нибудь есть предложения по внесению изменений в него?
Спасибо за помощь.