2017-11-15 4 views
-4

그래서 나는 다음과 같은 파일 이름의 파일 그룹이 있습니다PowerShell 일괄 이름 바꾸기 regex?

A-2.txt
B-1.TXT
C-3.txt 뭔가로 이름을 변경하려고

같은

1.TXT -----> B-1.TXT

2.txt -----> A-2.txt

3.txt ----- > c-3.txt

그러나 해당 정규식이 무엇인지, PowerShell에 코드를 지정하는 방법을 이해할 수 없습니다. 공백이나 밑줄을 제거하는 많은 예제가 있지만 문자열에서 제거 할 것은 없습니다. 당신이 카운터를 사용할 수있을 때

+2

(whatif 제거)하십시오? '$ counter'가 1로 설정되어있는'ForEach' 루프와'Rename-Item $ file $ counter'가있는 각 루프에서'$ counter ++'를 가지고 있습니다. –

+0

a-2.txt를 2로 변경하고 싶습니다. .txt – abdulsamad

+0

a-2.txt ~ 1.txt – abdulsamad

답변

-2

이 왜 정규식을 사용

Get-ChildItem "c:\temp" -file -Filter "*.txt" | where BaseName -Match ".-." | %{ 
$newname="{0}{1}" -f ($_.BaseName -split '-')[1], $_.Extension 
Rename-Item $_.FullName $newname -WhatIf 
} 
+0

은 변경되지 않았습니까? – abdulsamad

+0

내 실수 그것은 – abdulsamad

+0

내 이름을 바꾼 파일에 대한 질문을하지 않았다. 이름을 바꾸는 파일이 없다. – abdulsamad

관련 문제