Како да серија преименува дел од името на датотеката во Windows PowerShell користење назив?

Во овој пример,, ние имаме 6 датотеките подолу со датум и име на датотека подолу:

Режим LastWriteTime Должина Име
----                -------------         ------ ----
-на ----       10/06/2018     12:40              0 1 = 9.8.16 Извод од банка 298.67.pdf
-А ----       10/06/2018     12:40              0 2 = 9.9.16 Извод од банка 134.74.pdf
-А ----       10/06/2018     12:41              0 3 = 9.10.16 Извод од банка 123.43.pdf
-А ----       10/06/2018     12:41              0 4 = 9.11.16 Извод од банка 134.54.pdf
-А ----       10/06/2018     12:41              0 5 = 9.12.16 Извод од банка 157.98.pdf
-А ----       10/06/2018     12:41              0 6 = 9.1.17 Извод од банка 123.45.pdf

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

Овие датотеки се во извештаи фактот кредитни картички и зборот "банка’ треба да се замени со зборовите "кредитна картичка". Сите остатокот од името на датотеката треба да остане иста.

Со цел да се постигне ова,, we will be using Прозорци PowerShell with Regex.

Да се ​​наведат сите извештаи од банка на, ние ги користиме на ls команда, тогаш цевка излез

ls | рен -newname {$_.name -replace('(.+)банка(.+)',"$ 1Credit картичка $ 2 ')}

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

Фаќањето групи во регуларниот израз ни овозможува да се задржи делови на низа. во назив, ништо стави во заграда се фаќаат за да го користите подоцна. на пример,. (.+)Bank(.+) доловува нешто пред и по ликовите банка ". Ние може да ги користат овие заробени делови, со користење на $ и голем број. На 1-ви заграда снима во $1 и 2 заграда снима во $2 итн…

Во 1 параметар, ние наведете стари стринг кој сакаме да го замени, а во исто време ние го фати на делови од стрингот што сакаме да го задржиме (фаќање). Во 2 параметар, на нова низа користи заробени делови што сакаме да го задржиме, како и самата нова низа на пример,. '$1Credit Card$2'.

резултат:

Режим LastWrite Време Должина Име
----       ---------      ----            ------   ----
-на ----     10/06/2018     12:40              0 1 = 9.8.16 Кредитна картичка изјава 298.67.pdf
-А ----     10/06/2018     12:40              0 2 = 9.9.16 Кредитна картичка изјава 134.74.pdf
-А ----     10/06/2018     12:41              0 3 = 9.10.16 Кредитна картичка изјава 123.43.pdf -a ----     10/06/2018     12:41              0 4 = 9.11.16 Кредитна картичка изјава 134.54.pdf -a ----     10/06/2018     12:41              0 5 = 9.12.16 Кредитна картичка изјава 157.98.pdf -a ----     10/06/2018     12:41              0 6 = 9.1.17 Кредитна картичка изјава 123.45.pdf

Напишете коментар