कसरी ब्याच पुन: नामकरण regex प्रयोग विन्डोज 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

यहाँ, फाइलनाम एक सिरियल समावेश # सुरुमा, = पछि, द्वारा 'बैंक विवरण पछि’ बयान ब्यालेन्स को अन्त पछि.

यी फाइलहरू वास्तवमा क्रेडिट कार्ड वक्तव्य र शब्द 'बैंक छन्’ शब्दहरू 'क्रेडिट कार्ड' द्वारा प्रतिस्थापित गर्न आवश्यक. फाइलनाम सबै बाँकी नै रहनुपर्छ.

यो हासिल गर्न, हामी विन्डोज PowerShell प्रयोग गरिनेछ regex संग.

सबै बैंक बयान सूची, हामी प्रयोग ls आदेश, त्यसपछि उत्पादन पाइप

रास | बच्चाहरु -newname {$_.name -replace('(.+)बैंक(.+)','$1Credit Card$2')}

यो पुनः नामकरण आदेश फाइलहरू पुन: नामकरण गर्न पाइप पछि प्रयोग गरिन्छ. $_ पाइप अघि उत्पादन धारण कि वस्तु हो, र हामी को नाम सम्पत्ति प्रयोग गर्दै $_ वस्तु. -replace PowerShell मा तार मा प्रयोग गरिन्छ, जो नयाँ स्ट्रिङ एक स्ट्रिङ प्रतिस्थापन. -replace लाग्छ कि एक समारोह छ 2 मापदण्डहरू. यस 1st प्यारामिटर हामी प्रतिस्थापन गर्न चाहनुहुन्छ कि पुरानो स्ट्रिङ हो र 2nd प्यारामिटर नयाँ स्ट्रिङ हो.

कब्जा regex समूहमा हामीलाई स्ट्रिङ को भागहरु राख्न अनुमति दिन्छ. regex मा, कोष्ठक राख्नु केहि पछि प्रयोग गर्न कब्जा छ. जस्तै. (.+)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