Kā partijas pārdēvēt daļu no faila Windows PowerShell, izmantojot parastu izteiksmi?

Šajā piemērā, mums ir 6 datnes zem ar datumu un faila nosaukumu zemāk:

Mode LastWriteTime Garums nosaukums
----                -------------         ------ ----
-----       10/06/2018     12:40              0 1 = 9.8.16 Bankas paziņojums 298.67.pdf
-a ----       10/06/2018     12:40              0 2 = 9.9.16 Bankas paziņojums 134.74.pdf
-a ----       10/06/2018     12:41              0 3 = 9.10.16 Bankas paziņojums 123.43.pdf
-a ----       10/06/2018     12:41              0 4 = 9.11.16 Bankas paziņojums 134.54.pdf
-a ----       10/06/2018     12:41              0 5 = 9.12.16 Bankas paziņojums 157.98.pdf
-a ----       10/06/2018     12:41              0 6 = 9.1.17 Bankas paziņojums 123.45.pdf

Šeit, faila nosaukums satur sērijas # sākumā, kam seko =, kam seko "Bank pārskats’ seko beigām pārskata bilancē.

Šie faili ir fakts kredītkartes pārskatus, un vārdu "Banka’ ir jāaizstāj ar vārdiem "Kredītkarte". Visa pārējā faila jāpaliek tai pašai.

Lai sasniegtu šo, we will be using Windows PowerShell with Regex.

Lai uzskaitītu visas bankas izrakstus, mēs izmantojam ls komanda, tad caurules izejas

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

Pārdēvēt komanda tiek izmantota pēc caurules, lai pārdēvētu failus. $_ ir objekts, kas pieder izejas pirms caurules, un mēs izmantojam nosaukumu mantu $_ objekts. -replace is used on strings in PowerShell, kas aizstāj virkni ar jaunu string. -replace ir funkcija, kas notiek 2 parametri. 1. parametrs ir vecā virkne, kas mēs gribam, lai aizstātu un 2. parametrs ir jauns virkne.

Labvēlīgas grupas REGEX ļauj mums saglabāt daļu no virknes. in regex, kaut ielikt iekavās tiek uzņemts, lai izmantotu vēlāk. piemēram,. (.+)Bank(.+) uztver jebko pirms un pēc rakstzīmes "Bank". Mēs varam izmantot šos notverti daļas, izmantojot $ un numurs. 1. iekavas uzņem uz $1 un 2. iekavas uzņem uz $2 utt…

Gada 1. parametra, mēs norādiet veco virkni, ko mēs vēlamies, lai aizstātu, un tajā pašā laikā, mēs uztveršanas daļas virkni, ko mēs vēlamies, lai saglabātu (sagūstīt). In 2. parametrs, jaunais string izmanto notverti daļas, ka mēs vēlamies, lai saglabātu, kā arī jauno stīgu pati, piemēram,. '$1Credit Card$2'.

rezultāts:

Mode LastWrite laiks Garums nosaukums
----       ---------      ----            ------   ----
-----     10/06/2018     12:40              0 1 = 9.8.16 Kredītkarte Paziņojums 298.67.pdf
-a ----     10/06/2018     12:40              0 2 = 9.9.16 Kredītkarte Paziņojums 134.74.pdf
-a ----     10/06/2018     12:41              0 3 = 9.10.16 Kredītkarte Paziņojums 123.43.pdf -a ----     10/06/2018     12:41              0 4 = 9.11.16 Kredītkarte Paziņojums 134.54.pdf -a ----     10/06/2018     12:41              0 5 = 9.12.16 Kredītkarte Paziņojums 157.98.pdf -a ----     10/06/2018     12:41              0 6 = 9.1.17 Kredītkarte Paziņojums 123.45.pdf

Atstāj atbildi