Sut i swp ailenwi rhan o'r enw'r ffeil i mewn Ffenestri PowerShell ddefnyddio regex?

Yn yr enghraifft hon, rydym wedi 6 ffeiliau isod gyda'r dyddiad a'r enw ffeil isod:

Modd LastWriteTime Hyd Enw
----                -------------         ------ ----
-a ----       10/06/2018     12:40              0 1 = 9.8.16 298.67.pdf Datganiad Banc
-a ----       10/06/2018     12:40              0 2 = 9.9.16 134.74.pdf Datganiad Banc
-a ----       10/06/2018     12:41              0 3 = 9.10.16 123.43.pdf Datganiad Banc
-a ----       10/06/2018     12:41              0 4 = 9.11.16 134.54.pdf Datganiad Banc
-a ----       10/06/2018     12:41              0 5 = 9.12.16 157.98.pdf Datganiad Banc
-a ----       10/06/2018     12:41              0 6 = 9.1.17 123.45.pdf Datganiad Banc

yma, enw'r ffeil yn cynnwys serial # ar y ddechrau, ac yna =, ddilyn gan 'Ddatganiad Banc’ ac yna erbyn diwedd y cydbwysedd datganiad.

Mae'r ffeiliau hyn mewn Datganiadau Cerdyn ffeithiau Credyd a'r gair 'Banc’ angen ei disodli gan y geiriau 'Cerdyn Credyd'. Dylai'r holl weddill y filename aros yr un fath.

Er mwyn cyflawni hyn, byddwn yn defnyddio Windows PowerShell gyda regex.

Restru'r holl ddatganiadau banc, rydym yn defnyddio'r ls gorchymyn, Yna pibell yr allbwn

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

Mae'r gorchymyn ail-enwi yn cael ei ddefnyddio ar ôl y bibell i ail-enwi'r ffeil. $_ yw'r gwrthrych sy'n dal y cynnyrch cyn y bibell, ac rydym yn defnyddio'r enw eiddo'r $_ gwrthrych. -replace yn cael ei ddefnyddio ar dannau mewn PowerShell, sy'n disodli'r llinyn gyda llinyn newydd. -replace yn swyddogaeth sy'n cymryd 2 paramedrau. Y paramedr 1af yn yr hen llinyn yr ydym am i gymryd lle ac mae'r 2il paramedr yw'r llinyn newydd.

grwpiau yng regex Dal yn caniatáu i ni gadw rhannau o'r llinyn. Yn regex, unrhyw beth a rhoi mewn cromfachau yn cael ei ddal i ddefnyddio yn nes ymlaen. ee. (.+)Bank(.+) cipio unrhyw beth cyn ac ar ôl y cymeriadau 'Banc'. Gallwn ddefnyddio rhannau dal y rhain, drwy ddefnyddio $ a nifer. Mae'r cromfachau 1af cipio i mewn $1 a'r 2il parenthesis cipio i mewn $2 ac ati…

Yn y paramedr 1af, nodwn yr hen llinyn yr ydym am i gymryd lle, ac ar yr un pryd rydym yn dal y rhannau o'r llinyn yr ydym am gadw (dal). Yn yr 2il paramedr, y llinyn newydd yn defnyddio rhannau dal ein bod am gadw, yn ogystal â'r llinyn newydd ei hun, ee. '$1Credit Card$2'.

canlyniad:

Modd LastWrite Amser Hyd Enw
----       ---------      ----            ------   ----
-a ----     10/06/2018     12:40              0 1 = 9.8.16 298.67.pdf Datganiad Cerdyn Credyd
-a ----     10/06/2018     12:40              0 2 = 9.9.16 134.74.pdf Datganiad Cerdyn Credyd
-a ----     10/06/2018     12:41              0 3 = 9.10.16 Cerdyn Credyd 123.43.pdf Datganiad -a ----     10/06/2018     12:41              0 4 = 9.11.16 Cerdyn Credyd 134.54.pdf Datganiad -a ----     10/06/2018     12:41              0 5 = 9.12.16 Cerdyn Credyd 157.98.pdf Datganiad -a ----     10/06/2018     12:41              0 6 = 9.1.17 123.45.pdf Datganiad Cerdyn Credyd