Carane kumpulan ngganti jeneng bagéan saka filename ing Windows PowerShell nggunakake regex?

Ing conto iki, kita kudu 6 file ing ngisor iki karo tanggal lan filename ngisor:

Mode LastWriteTime Length Jeneng
----                -------------         ------ ----
-a ----       10/06/2018     12:40              0 1 = 9.8.16 Statement 298.67.pdf Bank
-a ----       10/06/2018     12:40              0 2 = 9.9.16 Statement 134.74.pdf Bank
-a ----       10/06/2018     12:41              0 3 = 9.10.16 Statement 123.43.pdf Bank
-a ----       10/06/2018     12:41              0 4 = 9.11.16 Statement 134.54.pdf Bank
-a ----       10/06/2018     12:41              0 5 = 9.12.16 Statement 157.98.pdf Bank
-a ----       10/06/2018     12:41              0 6 = 9.1.17 Statement 123.45.pdf Bank

kene, filename ngandhut sun # ing awal, ngiring dening =, ngiring dening 'Statement Bank’ ngiring dening mburi imbangan statement.

Berkas-berkas iki ing statements Card kasunyatan Credit lan tembung 'Bank’ perlu diganti dening 'Kartu Kredit' ing tembung. Kabeh liyane filename kudu tetep padha.

Supaya entuk iki, we will be using Windows PowerShell with Regex.

Kanggo dhaptar kabeh statements bank, digunakake ls printah, banjur pipe output

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

Printah jeneng digunakake sawise pipo kanggo ngganti jeneng file. $_ obyek sing ngemu output sadurunge pipo, lan kita nggunakake properti jeneng $_ obyek. -replace is used on strings in PowerShell, kang nggantèkaké senar karo senar anyar. -replace iku fungsi sing njupuk 2 paramèter. Parameter 1st punika senar lawas sing pengin kita kanggo ngganti lan 2 parameter punika senar anyar.

Njupuk kelompok ing regex ngidini kita tetep bagean saka senar. ing regex, apa sijine ing parenthesis dijupuk nggunakake mengko. contone. (.+)Bank(.+) nelukaké apa sadurunge lan sawise karakter 'Bank'. Kita bisa nggunakake iki bagéan dijupuk, kanthi nggunakake $ lan nomer. 1st parenthesis nelukaké menyang $1 lan 2 parenthesis nelukaké menyang $2 etc…

Ing parameter 1st, kita nemtokake senar lawas sing pengin kita kanggo ngganti, lan ing wektu sing padha kita dijupuk bagéan saka senar sing pengin kita tetep (Jupuk). Ing 2 parameter, senar anyar nggunakake bagean dijupuk sing pengin kita tetep, sarta anyar senar dhewe eg. '$1Credit Card$2'.

Result:

Mode LastWrite Wektu Length Jeneng
----       ---------      ----            ------   ----
-a ----     10/06/2018     12:40              0 1 = 9.8.16 Kartu Kredit Statement 298.67.pdf
-a ----     10/06/2018     12:40              0 2 = 9.9.16 Kartu Kredit Statement 134.74.pdf
-a ----     10/06/2018     12:41              0 3 = 9.10.16 Kartu Kredit Statement 123.43.pdf -a ----     10/06/2018     12:41              0 4 = 9.11.16 Kartu Kredit Statement 134.54.pdf -a ----     10/06/2018     12:41              0 5 = 9.12.16 Kartu Kredit Statement 157.98.pdf -a ----     10/06/2018     12:41              0 6 = 9.1.17 Kartu Kredit Statement 123.45.pdf

Ninggalake a Reply