мне нужно скопировать ряд файлов, которые выглядят какКопирование нескольких файлов в тот же каталог, изменяя имя файла
foo.bar
foo.baz
foo.boo
...
в тот же режиссер, но изменить foo
к moo
.
moo.bar
moo.baz
moo.boo
...
Но я не уверен, как я могу копировать и переименовывать несколько файлов в одну команду. Что-то вроде линий
cp 'foo.*' . | ren foo.* moo.*
За исключением того, что не имеет синтаксического смысла. Я понимаю, что могу поместить это во временный каталог, переименовать его, а затем переместить обратно, но мне любопытно, есть ли способ сделать это в 1 строке.
Но разве это не заменит файл? Я хочу сохранить оригинальную копию. –
Нет, не будет. $ newName будет содержать новое имя, которое вы хотите предоставить (например: moo.bar). А затем «cp» создает копию исходного файла (т. Е. $ _) С именем $ newName. Если вы хотите скопировать файл в пункт назначения, отличный от текущей, вы можете указать этот путь как часть $ newName. Вы можете сначала попробовать его с образцовыми файлами, чтобы подтвердить это. Как я уже упоминал, к сожалению, я не могу проверить это прямо сейчас. – jithinpt
О, я имел в виду первую попытку. 'Get-ChildItem -Filter" foo * "| {$ _. name -replace 'foo', 'moo'} ' –