Hogyan tétel átnevezés a fájlnév része a Windows PowerShell segítségével Regex?

Ebben a példában, nekünk van 6 Az alábbi fájlok dátuma és fájlnév alább:

Mode LastWriteTime Hosszúság neve
----                -------------         ------ ----
-egy ----       10/06/2018     12:40              0 1 = 9.8.16 Bankkivonat 298.67.pdf
-a ----       10/06/2018     12:40              0 2 = 9.9.16 Bankkivonat 134.74.pdf
-a ----       10/06/2018     12:41              0 3 = 9.10.16 Bankkivonat 123.43.pdf
-a ----       10/06/2018     12:41              0 4 = 9.11.16 Bankkivonat 134.54.pdf
-a ----       10/06/2018     12:41              0 5 = 9.12.16 Bankkivonat 157.98.pdf
-a ----       10/06/2018     12:41              0 6 = 9.1.17 Bankkivonat 123.45.pdf

Itt, A fájlnév tartalmaz egy soros # az elején, majd a =, majd „Bankkivonat’ majd a végén a nyilatkozat egyensúly.

Ezek a fájlok valójában hitelkártya nyilatkozatok és a „Bank’ ki kell cserélni helyébe a „Hitelkártya”. Az összes többi a fájlnév változatlannak kell maradnia.

Annak érdekében, hogy ezt a, mi lesz használva A Windows PowerShell a Regex.

Felsorolni az összes bankszámlakivonat, használjuk a ls parancs, majd a kimenetet

ls | ren -newname {$_.name -replace('(.+)Bank(.+)','$ 1Credit Card $ 2')}

Az átnevezés parancs után használják a cső átnevezni a fájlokat. $_ az objektum, amely tartja a kimeneti, mielőtt a cső, és mi a neve tulajdona $_ tárgy. -replace használják húrok PowerShell, amely helyettesíti a karakterlánc egy új karakterlánc. -replace egy olyan funkció, amely úgy 2 paraméterek. Az 1. paraméter a régi húr, hogy szeretnénk cserélni, és a 2. paraméter az új karakterlánc.

Rögzítése csoportok Regex lehetővé teszi számunkra, folyamatosan része a húr. A Regex, bármi zárójelbe tettük elfogják, hogy a későbbiekben. pl. (.+)Bank(.+) ragadja semmit előtt és után a szereplők Bank. Mi lehet használni ezeket a rögzített alkatrész, használva $ és számos. Az 1. zárójel rögzíti a $1 és a 2. zárójel rögzíti a $2 stb.…

Az 1. paraméter, mi adja a régi húr, hogy szeretnénk cserélni, és ezzel egyidejűleg elfogjuk a rész a húr, hogy meg akarjuk tartani (elfog). A 2. paraméter, Az új karakterlánc a foglyul ejtett részek akarjuk tartani, valamint az új sztring pl. '$1Credit Card$2'.

Eredmény:

Mode LastWrite idő hossza neve
----       ---------      ----            ------   ----
-egy ----     10/06/2018     12:40              0 1 = 9.8.16 Hitelkártya nyilatkozata 298.67.pdf
-a ----     10/06/2018     12:40              0 2 = 9.9.16 Hitelkártya nyilatkozata 134.74.pdf
-a ----     10/06/2018     12:41              0 3 = 9.10.16 Hitelkártya nyilatkozata 123.43.pdf -a ----     10/06/2018     12:41              0 4 = 9.11.16 Hitelkártya nyilatkozata 134.54.pdf -a ----     10/06/2018     12:41              0 5 = 9.12.16 Hitelkártya nyilatkozata 157.98.pdf -a ----     10/06/2018     12:41              0 6 = 9.1.17 Hitelkártya nyilatkozata 123.45.pdf

Hozzászólás