Ki jan yo pakèt chanje non yon pati nan fichier a nan Windows poechèl lè l sèvi avèk Rjèks?

Nan egzanp sa a, nou genyen 6 dosye anba a ak dat la ak fichier anba a:

Mode LastWriteTime Length Non
----                -------------         ------ ----
-yon ----       10/06/2018     12:40              0 1 = 9.8.16 Bank Deklarasyon 298.67.pdf
-yon ----       10/06/2018     12:40              0 2 = 9.9.16 Bank Deklarasyon 134.74.pdf
-yon ----       10/06/2018     12:41              0 3 = 9.10.16 Bank Deklarasyon 123.43.pdf
-yon ----       10/06/2018     12:41              0 4 = 9.11.16 Bank Deklarasyon 134.54.pdf
-yon ----       10/06/2018     12:41              0 5 = 9.12.16 Bank Deklarasyon 157.98.pdf
-yon ----       10/06/2018     12:41              0 6 = 9.1.17 Bank Deklarasyon 123.45.pdf

isit la, fichier a gen yon seri # nan komansman, ki te swiv pa =, ki te swiv pa 'Deklarasyon Bank’ ki te swiv pa nan fen deklarasyon balans.

sa yo dosye yo nan Deklarasyon Kat reyalite Kredi ak pawòl Bondye a 'Bank’ bezwen yo dwe ranplase pa 'kat kredi' mo sa yo. Tout rès la nan fichier a ta dwe rete menm jan an.

Yo nan lòd yo reyalize sa a, we will be using Windows PowerShell with Regex.

Nan lis tout deklarasyon sa yo bank, nou itilize nan ls lòd, Lè sa a, tiyo pwodiksyon an

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

se yo lòd, ki chanje non itilize apre tiyo a chanje non dosye yo. $_ se objè a ki kenbe pwodiksyon an anvan tiyo a, epi n ap lè l sèvi avèk pwopriyete a non an $_ objè. -replace is used on strings in PowerShell, ki ranplase yon afè ak yon nouvo fisèl. -replace se yon fonksyon ki pran 2 paramèt. paramèt nan 1st se fisèl la fin vye granmoun ke nou vle ranplase ak paramèt nan 2nd se fisèl la nouvo.

Kaptire gwoup nan Rjèks pèmèt nou kenbe pati nan fisèl la. nan Rjèks, se anyen mete nan parantèz pran yo sèvi ak pita. egzanp. (.+)Bank(.+) kaptire anyen anvan ak apre 'Bank' karaktè yo. Nou ka sèvi ak pati sa yo pran, lè l sèvi avèk $ ak yon kantite. parantèz nan 1st kaptire nan $1 ak parantèz nan 2nd kaptire nan $2 elatriye…

Nan paramèt nan 1st, nou presize fisèl la fin vye granmoun ke nou vle ranplase, ak nan menm tan an nou pran pati pyès sa yo nan fisèl la ke nou vle kenbe (kaptire). Nan paramèt nan 2nd, fisèl la nouvo sèvi ak pati pyès sa yo pran ke nou vle kenbe, osi byen ke nouvo fisèl la tèt li tankou. '$1Credit Card$2'.

rezilta:

Mode LastWrite Tan Non Length
----       ---------      ----            ------   ----
-yon ----     10/06/2018     12:40              0 1 = 9.8.16 Kat kredi Deklarasyon 298.67.pdf
-yon ----     10/06/2018     12:40              0 2 = 9.9.16 Kat kredi Deklarasyon 134.74.pdf
-yon ----     10/06/2018     12:41              0 3 = 9.10.16 Kat kredi Deklarasyon 123.43.pdf -yon ----     10/06/2018     12:41              0 4 = 9.11.16 Kat kredi Deklarasyon 134.54.pdf -yon ----     10/06/2018     12:41              0 5 = 9.12.16 Kat kredi Deklarasyon 157.98.pdf -yon ----     10/06/2018     12:41              0 6 = 9.1.17 Kat kredi Deklarasyon 123.45.pdf

Kite yon Reply