Мне нужно заменить несколько строк в нескольких именах файлов. Вот что представляет собой представление о том, как выглядят мои данные.Как заменить несколько строк в имени файла
CAL aB12 AUG.docx CAL cDe345 AUG.docx CAL FGHiJKL6789 AUG.docx
Мне нужно заменить «CAL» с «календарь» и «AUG» с «август» в именах файлов.
Лучшее, что мне удалось сделать, - запустить два командлета (по одному для каждой замены), скованные вместе с точкой с запятой. Это работает, но я знаю, что это грубо.
gci | Rename-Item -NewName { $_ -replace "CAL", "Calendar" };
gci | Rename-Item -NewName { $_ -replace "AUG", "August" }
После подробного поиска, я нашел StackOverflow 3403217. Из-за недостатка знаний и опыта я не смог (и я старался) перевести любой из пяти ответов, которые он предоставляет, в один командлет, который работает для того, что я пытаюсь сделать.
p.s. Я вставляю копии интересующих файлов в C: \ Temp и работаю оттуда. Я использую Windows 7.
Зачем это делать в Powershell? Я изначально попытался сделать это на сеансе командной строки (cmd), а IT обработал FILENAMES, как показано ниже. Что мне делать по-другому в сеансе командной строки? C: \ TEMP> реж CAL ab123 AUG.doc CAL cde45 AUG.doc CAL fghijk6889 AUG.doc C: \ TEMP> жэнь "CAL * Aug.doc" "календарь * August.doc" C: \ TEMP> dir calendar3 August.doc calendar5 August.doc calendarjk6889 August.doc – pwt12855
Спасибо. Я пошел с Powershell, потому что то, что я хочу сделать, не может быть сделано в сеансе командной строки. Использование: (ren «CAL * Aug.docx» «calendar * August.docx» подбирает имена файлов. Многие люди предложили мне сеанс командной строки, но когда они дают ему шанс, они меняют свое мнение. – pwt12855
Были звездочки подстановочных знаков в моих ответах, прежде чем я их представил. – pwt12855