본문 바로가기

업무 자동화

파워쉘 정규식

반응형

 

   질문 : 파워쉘 정규식


 

aa_0.jpg

aa_1.jpg

aa_2.jpg

...

aa_99.jpg


다음과 같은 파일이 100개 있다고 하면 aa_뒤에 있는 숫자들의 값을 1씩 증가시켜서 aa_(1~100).jpg 로 이름을 한번에 바꾸고 싶은데 파워쉘로 정규식을 어떻게 짜야할까요?

 

 

   답변 


1
2
3
4
5
6
New-Item -ItemType Directory .\NewFolder
Get-ChildItem -name -File  | % {
    $_ -match "[0-9]+" | Out-Null
    $fileName = $_ -replace "[0-9]+", ([int]$Matches[0+ 1)
    Move-Item $_ ('.\NewFolder\' + $fileName)
}
cs

현재 폴더에 NewFolder라는 폴더를 만들고, 파일 이름을 바꾸면서

NewFolder에 옮겨 넣었습니다.

aa_0.jpg를 aa_1.jpg로 rename을 하면, 현재 폴더에 aa_1.jpg 이 있기 때문에

에러가 나서 새로 폴더를 만들고 파일 이름을 바꾸면서 옮겼습니다.


한 번 테스트 해 보세요.
반응형