Я использую Powershell для упрощения повторяющихся задач при создании каталогов, переименовании и перемещении файлов. Я работаю с видео и PDF файлами, где необходимый синтаксис имени файла очень специфичен. До сих пор мне удавалось исправить все распространенные ошибки, с которыми я сталкиваюсь, но эта ошибка меня озадачила.
Правильный синтаксис для моих файлов будет включать:
01A-50_02A-50-CIPP-PRE.MP4
01AA-50_02AA-50-CIPP-PNSL.PDF
W01AA-48_02AA-48-CIPP-PST-CMP.MPG
Я получаю большое количество файлов, которые выглядят так:
01A-50-02A-50-CIPP-PRE.MP4
01AA-50-02AA-50-CIPP-PNSL.PDF
W01AA-48-02AA-48-CIPP-PST-CMP.MPG
Мне нужно заменить вторую черту подчеркиванием, оставляя другие штрихи без изменений. В противном случае я могу сделать это оптом с некоторой помощью из Excel, но я надеялся получить короткий код, который мог бы найти и исправить эту ошибку в синтаксисе без необходимости экспортировать список в Excel, использовать текст в столбцы, а затем объединить алфавитно-цифровые порции обратно вместе. Я также не хочу исправлять все эти имена файлов вручную.
Из того, что я исследовал, невозможно нацелить конкретное вхождение персонажа на замену. ближе всего я подумал, что нашел решение, включающее REGEX, определение и замену шаблона. Я не смог ничего с этим поделать.
Я бы использовал этот код, открыв папку, содержащую пропущенные файлы, открыв там окно Powershell, скопировав код из txt-файла на моем рабочем столе и вставив его в Powershell.
Любая помощь по этому вопросу будет принята с благодарностью.