2016-05-02 3 views
0

У меня есть папка с изображениями, в которой мне нужно переименовать.Как переименовать файл с именем каталога с помощью powershell

В настоящее время файлы, как это:

C:\Images\Today\4714\IMG_2342.jpg 
C:\Images\Today\4714\IMG_2343.jpg 
C:\Images\Today\4714\IMG_2344.jpg 
C:\Images\Today\4714\IMG_2345.jpg 

И мне нужно, чтобы они были так:

C:\Images\Today\4714\4714_1.jpg 
C:\Images\Today\4714\4714_2.jpg 
C:\Images\Today\4714\4714_3.jpg 
C:\Images\Today\4714\4714_4.jpg 

Как я могу сделать это в PowerShell, пожалуйста?

+0

Вы пробовали это другое почтовое решение - как переименовать кучу файлов в командной строке http://superuser.com/questions/347931/how-do-i-rename-a-bunch-of-files-in-the-command-prompt – Vonpato

ответ

0

вам просто нужно сделать, это:

Rename-Item C:\Images\Today\4714\IMG_2342.jpg C:\Images\Today\4714\IMG_2343.jpg C:\Images\Today\4714\4714_1.jpg C:\Images\Today\4714\4714_2.jpg 

если ваш возникли проблемы, вы можете проверить это website, дает вам все, что вам нужно знать

, если вы хотите, чтобы сделать скрипт для всех файлов чтобы переименовать, я предлагаю использовать regExp, чтобы поймать IMG_num и заменить его тем, что вы хотите.

1

Если вы знаете, что ни один файл с именем 4714_X.jpg не существует уже, вы можете легко сделать это с цикл:

$Files = Get-ChildItem C:\Images\Today\4714\ *.jpg 
for($i = 0; $i -lt $Files.Count; $i++) 
{ 
    Rename-Item $Files[$i].FullName -NewName "4714_$i.jpg" 
} 
0

попробовать это

dir C:\Images\Today\4714\ *.jpg | ? {$_.name -NotMatch "^$($_.directory.name)"} | % {ren $_.fullname $($_.name -replace 'img(?=_)', $_.directory.name)} 
Смежные вопросы