Kuidas partii ümber nimetada osa failinime Windows PowerShell kasutades Regex?

Selles näites, meil on 6 faile alla koos kuupäeva ja all failinime:

Režiim LastWriteTime Pikkus Nimi
----                -------------         ------ ----
-----       10/06/2018     12:40              0 1 = 9.8.16 Bank Statement 298.67.pdf
-a ----       10/06/2018     12:40              0 2 = 9.9.16 Bank Statement 134.74.pdf
-a ----       10/06/2018     12:41              0 3 = 9.10.16 Bank Statement 123.43.pdf
-a ----       10/06/2018     12:41              0 4 = 9.11.16 Bank Statement 134.54.pdf
-a ----       10/06/2018     12:41              0 5 = 9.12.16 Bank Statement 157.98.pdf
-a ----       10/06/2018     12:41              0 6 = 9.1.17 Bank Statement 123.45.pdf

siin, failinimi sisaldab seerianumber # alguses, järgnes =, millele järgneb "Bank Statement’ järgneb lõpuks avaldus tasakaalu.

Need failid on tegelikult luottokorttitositteesi ja sõna "Bank’ tuleb asendada sõnadega "Krediitkaart". Kõik ülejäänud failinimi peaks jääma samaks.

Et seda saavutada, Me kasutame Windows PowerShell koos Regex.

Loetleda kõik panga avaldused, me kasutame ls käsk, Seejärel toru väljundis

LS | ren -newname {$_.name -Asenda("(.+)Pank(.+)",'$ 1Credit Card $ 2')}

Ümbernimetamise käsk kasutatakse pärast toru ümber nimetada faile. $_ on objekt, mis hoiab väljundi enne toru, ja me kasutame nime vara $_ objekt. -replace kasutatakse stringid PowerShell, mis asendab string uue string. -replace on funktsioon, mis võtab 2 parameetrid. 1. parameeter on vana string, mida me tahame asendada ja 2. parameeter on uus string.

Hõivamiseks gruppe Regex võimaldab meil hoida osad string. in Regex, midagi panna sulgudes on pildistatud kasutada hiljem. näiteks. (.+)Bank(.+) lööb midagi enne ja pärast märki "pank". Me ei saa kasutada neid pildistatud osad, kasutades $ ja mitmed. 1. sulgudes lööb sisse $1 ja 2. sulgudes lööb sisse $2 jne…

Aasta 1. parameeter, me täpsustada vana string, mida me tahame asendada, ja samal ajal me jäädvustada osad string, mida me tahame hoida (hõive). In 2. parameeter, uus string kasutab pildistatud osad, mida me tahame hoida, samuti uus string ennast nt. '$1Credit Card$2'.

Tulemus:

Režiim LastWrite aeg Pikkus Nimi
----       ---------      ----            ------   ----
-----     10/06/2018     12:40              0 1 = 9.8.16 Krediitkaardi väljavõte 298.67.pdf
-a ----     10/06/2018     12:40              0 2 = 9.9.16 Krediitkaardi väljavõte 134.74.pdf
-a ----     10/06/2018     12:41              0 3 = 9.10.16 Krediitkaardi väljavõte 123.43.pdf -a ----     10/06/2018     12:41              0 4 = 9.11.16 Krediitkaardi väljavõte 134.54.pdf -a ----     10/06/2018     12:41              0 5 = 9.12.16 Krediitkaardi väljavõte 157.98.pdf -a ----     10/06/2018     12:41              0 6 = 9.1.17 Krediitkaardi väljavõte 123.45.pdf

Jäta vastus