2017-11-14 6 views
0

나는 재귀 적으로 디렉토리를 검색하고 숫자 명명 규칙에 DIRS (및 하위 DIRS)의 모든 .jpg and .jpeg 파일의 이름을 변경하려고 시도하고있다.재귀 적으로 검색 DIRS 및 하위 디렉토리와 수치 파일 이름 바꾸기

나는 그러나이 구문을

get-childitem -Recurse -path C:\Users\jsimpson\Desktop\Test123 | where {($_.extension -eq '.jpg') -or ($_.extension -eq '.jpeg') | %{Rename-Item $_ -NewName (‘MyFile{0}.txt’ -f $nr++)} 

이 -이 나에게

Missing closing '}' in statement block or type definition.
+ CategoryInfo : ParserError: (:) [],
ParentContainsErrorRecordException
+ FullyQualifiedErrorId : MissingEndCurlyBrace

의 오류를 제공 나는 이것이 내가 내려다 오전 내 말에 평범한 뭔가 확신합니다 -하지만이 될 것입니다 무슨 모든 파일의 이름을 숫자로 바꾸려면 적절한 구문을 사용해야합니까?

편집 현재 파일 이름은 내가 1.jpeg

파일은 디지털 카메라의 모든 가져 오기입니다 및 파일 때문에 이름을 변경하려는 P1870426.jpeg입니다
쓰레기 이름이 - 나는 기본적으로 가져올 수있는 방법을 걸려 파일을 동일한 순서로 유지하십시오. 오류 메시지가 적혀

답변

1

, Where를 닫 누락 }있다 :

Get-ChildItem -Recurse -Path 'C:\Users\jsimpson\Desktop\Test123' | Where-Object {$_.Extension -match 'jpg|jpeg'} | ForEach-Object { 
    $newFile = "{0}$($_.Extension)" -f $nr++ 
    Rename-Item $_.FullName -NewName $newFile -Force 
} 
+0

좋은 캐치. 나는 다른 문제 하나를 발견했다. .jpg 또는 .jpeg는 WHERE에 지정하지만 MyFile에서는 .txt를 지정하고 있습니다. 어떻게 변경하여 .jpg 또는 .jpeg로 지정할 수 있습니까? – IcyPopTarts

+0

당신의 마지막 코멘트에 대한 대답을 편집했습니다 – Manu

+0

이것은 'P1870445.jpeg'의 항목이 존재하지 않기 때문에 이름 바꾸기 - 항목의 이름을 바꿀 수 없습니다. 줄에서 : 2 문자 : 5 + 이름 바꾸기-항목 $ _ -NewName ("을 MyFile {0} $ ($ _ 확장)."-f $의 NR ++) + ~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation : (:), PSInvalidOperationException [품목 이름 바꾸기] + FullyQualifiedErrorId : InvalidOperation는, Microsoft.PowerShell.Commands.RenameItemCommand는 ---하지만 파일이 존재 /? – IcyPopTarts