2017-11-13 20 views
0

내 탐색은 한 번에 여러 폴더의 각 파일 이름을 변경하고 폴더 고유의 증분을 계속 사용하는 방법입니다.PowerShell - 증분을 사용하여 여러 폴더의 여러 파일 이름 바꾸기

특히 더 구체적으로 폴더의 .jpg 파일 이름을 바꾸고 싶습니다. 폴더 + 및 추가 확장자 '.X'과 같은 이름으로 1.1, 1.2, 1.3, ..., 99.1, ... 이름이 지정됩니다. 여기서 X = 1,2, ..., 99입니다.

예. 폴더 1.1에 3 개의 파일이 포함되어 있다면 1.1.1.jpg, 1.1.2.jpg 및 1.1.3.jpg와 같이 이름을 지정하고 싶습니다.

나는 PowerShell을 새로운 오전,하지만 난 다음 코드로 문제를 해결하기 위해 관리 생각 ... 폴더를 변경할 때 이해하지

$i = 1 
Get-ChildItem "C:\Users\Rename" -Recurse | Where {$_.extension -eq ".jpg"} | %{Rename-Item $_.FullName -Newname ($_.Directory.Name+'.{0}.jpg' -f $i++)} 

그러나, 점진 물론 않습니다

누구든지이 문제에 대한 우아한 해결책이 있거나 PowerShell에서 if/for 문을 사용하는 방법을 배워야하는지 궁금합니다.

답변에 감사드립니다. (.도 크게 PowerShell을 코딩 등 "에 대한"로 팁을 주셔서 감사합니다)

/에릭

답변

0

그들을 통해 루프 후, 첫 번째 폴더의 목록 가져 오기 $ 재설정 내가 1마다 :

$folders = Get-ChildItem "C:\Users\Rename" -Recurse | where {$_.PSIsContainer -eq $true} | select FullName 

foreach ($folder in $folders) { 

Set-Location $folder.FullName 

$i = 1 

Get-ChildItem -Filter "*.jpg" | % {Rename-Item $_.FullName -Newname ($_.Directory.Name+'.{0}.jpg' -f $i++)} 
} 
+0

대단히 Gareth! 이 코드는 나를 위해 완벽하게 작동했고 또한 매우 교육적입니다. 특히 계몽은 $ 폴더가있는 폴더의 경로를 정의하는 방법이었습니다. 다시 한번 고마워요! PowerShell에서 내 발전에 도움이 될 것입니다. –

+0

@EricAckevall, 아무런 문제 없습니다. 간소화 될 수 있지만 정확히 무엇을하는지 분명하지 않을 수 있습니다. –