PowerShell: как добавить префикс ко всем файлам в каталоге?

9263
Giffyguy

В настоящее время я использую командлеты, такие как:

dir | rename-item -NewName {$_.name -replace "-","_"} 

Но теперь мне нужно добавить префикс к имени файла для всех файлов в каталоге.
Я не могу предсказать, как долго каждое имя файла (оно меняется), поэтому я не могу просто использовать несколько .групповых символов.

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

1
Смотрите решение здесь http://stackoverflow.com/a/20874916/5518385 Yisroel Tech 7 лет назад 1
Что теперь? Префикс или суффикс? Для префикса у вас уже есть имя, поэтому (буквально) просто добавьте к своему префиксу или (для суффикса) просто добавьте к нему суффикс. Seth 7 лет назад 1

2 ответа на вопрос

5
Seth

Альтернативный подход к регулярному выражению заключается в использовании простых строковых операций для создания нового имени файла.

Get-ChildItem | Rename-Item -NewName { "Prefix_" + $_.Name } 
Я пытаюсь это сделать, но, похоже, схожу с ума и продолжаю пытаться добавлять префиксы к именам файлов снова и снова, пока не произойдет сбой из-за слишком длинного имени файла - например, выполнение приведенной выше команды приводит к таким именам файлов, как `Prefix_Prefix_Prefix_Prefix_Prefix_Prefix_Prefix_Prefix_Prefix _...`. Tom Carpenter 7 лет назад 0
Разделите команду. `$ items = Get-ChildItem;` И заменить `Get-ChildItem` в вышеприведенном случае на` $ items`. Seth 7 лет назад 0
В конце, основываясь на [this] (https://stackoverflow.com/a/37279979/1557472), я просто добавил `` `-Exclude Prefix_ *` `` к команде `Get-ChildItem`. Tom Carpenter 7 лет назад 1
2
LotPings

Вы совсем рядом.

  • -replace использует RegEX и в регулярном выражении вы привязываете в начале с ^

Get-ChildItem -File | Rename-Item -NewName {$_.Name -replace "^","Prefix_"} 
Мне нравится этот ответ, потому что он не вызывает бесконечный цикл, и мне не нужно дважды писать префикс - как в других решениях с `-Exclude Prefix_ *`, чтобы избежать цикла. TCB13 6 лет назад 0

Похожие вопросы