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, we will be using Windows PowerShell with Regex.

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

ls | -newname plant {$_.name -replace('(.+)banc(.+)','Cerdyn 1Credit $ $ 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 is used on strings in 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

Gadael Ymateb