Како хрпа преименовати део датотеке у Виндовс ПоверСхелл користећи регек?

У овом примеру, имамо 6 Бр испод са датумом и датотеке испод:

Моде ЛастВритеТиме Дужина Име
----                -------------         ------ ----
-А ----       10/06/2018     12:40              0 1 = 9.8.16 Банка Изјава 298.67.пдф
-а ----       10/06/2018     12:40              0 2 = 9.9.16 Банка Изјава 134.74.пдф
-а ----       10/06/2018     12:41              0 3 = 9.10.16 Банка Изјава 123.43.пдф
-а ----       10/06/2018     12:41              0 4 = 9.11.16 Банка Изјава 134.54.пдф
-а ----       10/06/2018     12:41              0 5 = 9.12.16 Банка Изјава 157.98.пдф
-а ----       10/06/2018     12:41              0 6 = 9.1.17 Банка Изјава 123.45.пдф

овде, име датотеке садржи серијал # у почетку, затим =, затим 'извод из банке’ затим до краја извода.

Ове датотеке су у ствари Цредит Цард извештајима и речи "банке’ треба да буде замењена речима "кредитне картице". Све остатак датотеке треба да остане исти.

Да би се то постигло, we will be using Виндовс PowerShell with Regex.

Да наведе све извештаје Банке, користимо ls команда, онда пипе излаз

Да ли | Рен -невнаме {$_.наме -реплаце('(.+)банка(.+)','$ 1Цредит картица $ 2')}

Команда преименовање се користи после цеви за преименовање датотека. $_ је објекат који има излаз пре цеви, и ми користимо назив имовине $_ објекат. -replace is used on strings in PowerShell, који замењује низ са новим низом. -replace је функција која узима 2 parametri. 1. параметар је стари стринг који желимо да замени и 2. параметар је нови низ.

Снимање групе у Регекс омогућује нам да делове низа. u регек, шта ставити у загради је заробљен касније користити. нпр.. (.+)Bank(.+) хвата нешто пре и после ликова банке ". Можемо користити ове заробљене делови, коришћењем $ а број. 1. заграда снима у $1 и 2. заграда снима у $2 итд…

У 1. параметар, ми навести стару низ који желимо да замени, и истовремено смо снимили делове низу који желимо да задржимо (хватање). У 2. параметар, нови низ користи заробљене делове који желимо да задржимо, као и сама нови низ нпр. '$1Credit Card$2'.

резултат:

Моде ЛастВрите Време Дужина Име
----       ---------      ----            ------   ----
-А ----     10/06/2018     12:40              0 1 = 9.8.16 Кредитна картица Изјава 298.67.пдф
-а ----     10/06/2018     12:40              0 2 = 9.9.16 Кредитна картица Изјава 134.74.пдф
-а ----     10/06/2018     12:41              0 3 = 9.10.16 Кредитна картица Изјава 123.43.пдф -а ----     10/06/2018     12:41              0 4 = 9.11.16 Кредитна картица Изјава 134.54.пдф -а ----     10/06/2018     12:41              0 5 = 9.12.16 Кредитна картица Изјава 157.98.пдф -а ----     10/06/2018     12:41              0 6 = 9.1.17 Кредитна картица Изјава 123.45.пдф

Оставите одговор