بیچ کس طرح کرنے کے لئے رگ کا استعمال کرتے ہوئے Windows PowerShell میں فائل کا نام کا حصہ کا نام تبدیل?

اس مثال میں, ہم 6 تاریخ اور نیچے فائل نام کے ساتھ ذیل فائلوں:

موڈ LastWriteTime لمبائی نام
----                -------------         ------ ----
-ایک ----       10/06/2018     12:40              0 1 = 9.8.16 بینک اسٹیٹمنٹ 298.67.pdf
-A ----       10/06/2018     12:40              0 2 = 9.9.16 بینک اسٹیٹمنٹ 134.74.pdf
-A ----       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

یہاں, فائل کا نام ایک سیریل مشتمل # شروع میں, = کے بعد, 'بینک اسٹیٹمنٹ کے بعد’ بیان توازن کے اختتام کے بعد.

ان فائلوں کو اس حقیقت کریڈٹ کارڈ کے بیانات اور لفظ 'بینک میں ہیں’ الفاظ 'کریڈٹ کارڈ' کی طرف سے تبدیل کرنے کی ضرورت. تمام فائل نام کے باقی ہی رہنا چاہئے.

اس مقصد کو حاصل کرنے کے لئے, we will be using ونڈوز PowerShell with Regex.

تمام بینک کے بیانات کی فہرست کے لیے, ہم استعمال کرتے ہیں ls کمانڈ, تو پیداوار پائپ

LS | رین -newname {$_.name -replace('(.+)بینک(.+)','$ 1Credit کارڈ $ 2')}

نام تبدیل کمانڈ فائلوں کا نام تبدیل کرنے کی پائپ کے بعد استعمال کیا جاتا ہے. $_ اعتراض پائپ سے پہلے پیداوار رکھتا ہے, اور ہم کے نام جائیداد استعمال کر رہے ہیں $_ اعتراض. -replace is used on strings in PowerShell, جو ایک نئی سٹرنگ کے ساتھ ایک سٹرنگ کی جگہ لے لیتا. -replace ایک تقریب لیتا ہے 2 پیرامیٹرز. 1st کے پیرامیٹر ہم کو تبدیل کرنا چاہتے ہیں کہ پرانے سٹرنگ ہے اور 2nd پیرامیٹر نئے تار ہے.

رگ میں گروپوں قبضہ ہمارے سٹرنگ کے کچھ حصوں کو برقرار رکھنے کی اجازت دیتا ہے. رگ میں, قوسین میں ڈال دیا کچھ بھی بعد میں استعمال کرنے کے لئے قبضہ کر لیا ہے. مثال کے طور پر. (.+)Bank(.+) پہلے اور حروف 'بینک' کے بعد کچھ بھی قبضہ. ہم ان کو گرفتار کر لیا حصوں استعمال کر سکتے ہیں, کا استعمال کرتے ہوئے $ اور ایک بڑی تعداد. 1st کی قوسین میں قبضہ $1 اور 2nd قوسین میں قبضہ $2 وغیرہ…

1st کے پیرامیٹر میں, ہم کو تبدیل کرنا چاہتے ہیں کہ پرانے سٹرنگ کی وضاحت, اور ایک ہی وقت میں ہم کو رکھنے کے لئے چاہتے ہیں کہ سٹرنگ کے کچھ حصوں پر قبضہ (گرفتاری). 2nd کی پیرامیٹر میں, نئے سٹرنگ ہم رکھنے کے لئے چاہتے ہیں کہ قبضہ کر لیا حصوں استعمال کرتا, اس کے ساتھ ساتھ نئے سٹرنگ خود مثلا. '$1Credit Card$2'.

نتیجہ:

موڈ LastWrite وقت کی لمبائی کا نام
----       ---------      ----            ------   ----
-ایک ----     10/06/2018     12:40              0 1 = 9.8.16 کریڈٹ کارڈ کے بیان 298.67.pdf
-A ----     10/06/2018     12:40              0 2 = 9.9.16 کریڈٹ کارڈ کے بیان 134.74.pdf
-A ----     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

جواب دیجئے