![Win 7에서 이름 바꾸기 패턴 변경](https://rvso.com/image/1313351/Win%207%EC%97%90%EC%84%9C%20%EC%9D%B4%EB%A6%84%20%EB%B0%94%EA%BE%B8%EA%B8%B0%20%ED%8C%A8%ED%84%B4%20%EB%B3%80%EA%B2%BD.png)
Win7에서 대량 이름 바꾸기를 위해 내장된 메커니즘을 변경할 수 있습니까?
이런 패턴을 사용하도록 만드는 것이 가능할까요?
name-001.ext
name-002.ext
답변1
스크립팅 언어를 사용할 수 있습니다. PowerShell은 Win7 상자에 있어야 합니다. 다음은 한 줄의 내용입니다.
PS> get-childitem | foreach { $i++; $new = "name-{0:D3}" -f $i + $_.Extension; rename-item $_ $new } ; $i=0
여기서는 Get-ChildItem
현재 디렉터리의 내용을 열거하는 데 사용합니다. 그런 다음 결과 FileInfo 개체를 다음을 수행하는 짧은 ScriptBlock으로 파이프합니다.
- 카운터 변수 증가
- 결합하여 새로운 이름을 만듭니다.
- 카운터에 대한 세 개의 유효 숫자가 있는 형식화된 문자열
- 원래 FileInfo 객체의 파일 확장자
Rename-Item
원래 FileInfo 개체 및 새 이름과 함께 사용
마지막 항목은 $i 카운터를 재설정합니다. 첫 번째 파일 이름이 마지막으로 스크립트를 외쳤을 때의 최종 값보다 1이 아닌 1로 시작하도록 실험할 때 유용합니다. (내가 어떻게 아는지 물어보세요).
이를 종합하면 다음과 같은 결과를 얻을 수 있습니다.
다음 내용이 포함된 디렉터리에서 실행됩니다.
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 10/3/2011 11:45 AM 455 save-times.csv
-a--- 2/23/2012 4:03 PM 553376 save_patch.zip
-a--- 2/1/2012 10:55 AM 131280 user-gp.html
-a--- 6/7/2011 11:58 AM 38557 wks.xml
-a--- 5/23/2011 3:28 PM 16384 xmllint.exe
나는 다음과 같은 결과를 얻습니다.
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 10/3/2011 11:45 AM 455 name-001.csv
-a--- 2/23/2012 4:03 PM 553376 name-002.zip
-a--- 2/1/2012 10:55 AM 131280 name-003.html
-a--- 6/7/2011 11:58 AM 38557 name-004.xml
-a--- 5/23/2011 3:28 PM 16384 name-005.exe
자세한 내용은 TechNet 문서를 참조하세요.Get-ChildItem 커맨드렛 사용하기그리고Foreach-Object Commandlet 사용. 계속하세요. 시도 해봐!
답변2
Windows에서 일괄 이름 바꾸기에 사용하는 형식을 변경하는 방법을 찾지 못했습니다. 그러나 문제 없이 이를 처리하는 타사 유틸리티가 있습니다. 나는 개인적으로 사용http://www.bulkrenameutility.co.uk/Download.php하지만 다른 것들도 있습니다.