Kaip partija pervadinti dalį "Windows PowerShell" failo, naudojant reguliarųjį reiškinį?

Šiame pavyzdyje, mes turime 6 failai žemiau datos ir failo pavadinimą žemiau:

Režimas LastWriteTime Ilgis Vardas
----                -------------         ------ ----
-----       10/06/2018     12:40              0 1 = 9.8.16 Banko pažyma 298.67.pdf
-a ----       10/06/2018     12:40              0 2 = 9.9.16 Banko pažyma 134.74.pdf
-a ----       10/06/2018     12:41              0 3 = 9.10.16 Banko pažyma 123.43.pdf
-a ----       10/06/2018     12:41              0 4 = 9.11.16 Banko pažyma 134.54.pdf
-a ----       10/06/2018     12:41              0 5 = 9.12.16 Banko pažyma 157.98.pdf
-a ----       10/06/2018     12:41              0 6 = 9.1.17 Banko pažyma 123.45.pdf

čia, failo vardas yra serijos # pradžioje, po to =, Po "banko pažyma’ po to ataskaita balanso pabaigoje.

Šie failai yra tai, kredito kortelės ataskaitose, o žodis "bankas’ reikia pakeisti žodžiais "kredito kortelė". Visi failo pavadinimo poilsio turėtų išlikti toks pat.

Siekiant šio tikslo, we will be using Windows PowerShell " with Regex.

Į sąrašą visus banko išrašus, mes naudojame ls komanda, tada vamzdis išėjimo

Lt | Ren -newname {$_.name -Uždėkite("(.+)bankas(.+)","$ 1Credit kortelė $ 2 ')}

Pervardyti komanda naudojama po vamzdžio pervadinti failus. $_ yra objektas, kuris turi išėjimą prieš vamzdžio, ir mes naudojame vardas nuosavybė $_ objektas. -replace is used on strings in PowerShell ", kuris pakeičia eilutę su nauja eilutė. -replace yra funkcija, kuri trunka 2 parametrai. 1-asis parametras yra senas eilutė, kad mes norime pakeisti ir 2. parametras yra nauja eilutė.

Teigiamo grupes REGEX leidžia mums išlaikyti dalys eilutę. Be REGEX, nieko įdėti skliaustuose yra perimta naudoti vėliau. pvz. (.+)Bank(.+) fiksuoja nieko prieš ir po personažų banko ". Mes galime naudoti šiuos užfiksuoti dalys, naudojant $ ir numeris. 1-asis Parenthesis fiksuoja į $1 ir 2. Parenthesis fiksuoja į $2 ir tt…

Per 1 parametro, mes nurodome seną eilutę, kad mes norime pakeisti, ir tuo pačiu metu mes užfiksuoti eilutės dalis, kad mes norime išlaikyti (užfiksuoti). 2-ajame parametro, nauja eilutė naudoja nufotografuotus dalių, kad mes norime išlaikyti, taip pat pati nauja eilutė pvz. '$1Credit Card$2'.

Rezultatas:

Režimas LastWrite trukmė Vardas
----       ---------      ----            ------   ----
-----     10/06/2018     12:40              0 1 = 9.8.16 Kredito kortelės ataskaitoje 298.67.pdf
-a ----     10/06/2018     12:40              0 2 = 9.9.16 Kredito kortelės ataskaitoje 134.74.pdf
-a ----     10/06/2018     12:41              0 3 = 9.10.16 Kredito kortelės ataskaitoje 123.43.pdf -a ----     10/06/2018     12:41              0 4 = 9.11.16 Kredito kortelės ataskaitoje 134.54.pdf -a ----     10/06/2018     12:41              0 5 = 9.12.16 Kredito kortelės ataskaitoje 157.98.pdf -a ----     10/06/2018     12:41              0 6 = 9.1.17 Kredito kortelės ataskaitoje 123.45.pdf

Palikite komentarą