2016-04-27 8 views
2

Ich mag würde Dateien über Powershell umbenannt werden, wenn der letzte Teil des Dateinamens endet in '_<some number>.<extension>Extract und benennen, um numerische ID

Zum Beispiel angesichts der folgenden Dateien:

Houseplants_1083982.jpg 
Pottery_2304.jpg 
Astral Projection 3.jpg 
Photography - TOC.xml 

Die gewünschte Ausgangs wäre:

1083982.jpg 
2304.jpg 
Astral Projection 3.jpg 
Photography - TOC.xml 

Welche Regex brauche ich dafür?

Antwort

1

können Sie diese Regex verwenden und $1 als Ersatz

.*_(\d+\.[a-z][a-z0-9]+) 

Regex Demo

+1

Danke. Ich mag, dass dies den Fall von 'Houseplant_123.45.jpg' einfängt, obwohl ich es nicht angegeben habe: D – Katie

+0

@Katie Sie sind willkommen..das war offensichtlich, weil Sie nur die Nummer nach' _' wollten – rock321987

1

Einzelzeilenversion ^.*_(\d+\.[^.\\]+)$

^.* _ 
(       # (1 start) 
     \d+ 
     \. [^.\\]+ 
)        # (1 end) 
$ 

Oder mehrzeiligen Version (?m)^.*_(\d+\.[^.\\\r\n]+)$

(?m) 
^ .* _ 
(       # (1 start) 
     \d+ 
     \. [^.\\\r\n]+ 
)        # (1 end) 
$ 

Ersetzen mit $1

Verwandte Themen