2014-11-12 4 views
5

number.jpg로 이름이 지정된 약 1500 개의 파일이 있습니다. 예 : 45312.jpg 또는 342209.jpg 또는 7123.jpg 또는 7123.jpg 또는 9898923.jpg 또는 12345678.jpgPowerShell을 사용하여 파일 이름 앞에 0을 추가하십시오.

확장 전의 총 자릿수는 8 자리 여야합니다. 8 자리 미만인 경우 파일 이름을 8 자리로 만들려면 앞에 0을 추가해야합니다.

000.jpg 
00.jpg 
0.jpg 
.jpg 

나는이 powershell 스크립트를 사용해 보았지만 불평하고있다.

나는이 시도하지만 출력은 당신이 그것을 잘했다

$fn = "92454.jpg" 
"{0:00000000.jpg}" -f $fn 

또는

$fn = "12345.jpg" 
$fn.ToString("00000000.jpg") 
+0

"{0 : D4}"-f $의 FN 중 하나 일을하지 않습니다. 출력은 파일 이름과 동일합니다. – user1497590

+0

그녀는 C#의 솔루션 : https://dotnetfiddle.net/S4vscU – abatishchev

답변

4

동일하지만 : 당신이 필요하므로 {0 D8은} 만, 숫자가 아닌 문자열에서 작동 올바르게 던지십시오.

Get-ChildItem C:\Path\To\Files | Where{$_.basename -match "^\d+$"} | ForEach{$NewName = "{0:d8}$($_.extension)" -f [int]$_.basename;rename-item $_.fullname $newname} 
+0

우수. 매력처럼 일했다. 감사합니다 TMT – user1497590

5
'92454.jpg' | % PadLeft 12 '0' 

또는

'92454.jpg'.PadLeft(12, '0') 

결과

00092454.jpg 

PadLeft Method

관련 문제