Πώς να παρτίδα μετονομασία μέρος του αρχείου στο Windows PowerShell χρησιμοποιώντας Regex?

Σε αυτό το παράδειγμα, έχουμε 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 Των Windows PowerShell with Regex.

Για να δείτε όλες τις κινήσεις τραπεζικών λογαριασμών, χρησιμοποιούμε το ls εντολή, τότε η έξοδος του σωλήνα

ls | ren -newname {$_.name -Σε κάθε αλλαγή λάμπας(»(.+)Τράπεζα(.+)»,'$ 1Credit Κάρτα $ 2')}

Η εντολή μετονομασία χρησιμοποιείται από το σωλήνα για να μετονομάσετε τα αρχεία. $_ είναι το αντικείμενο που κρατά την έξοδο πριν το σωλήνα, και χρησιμοποιούμε το όνομα ιδιότητας του $_ αντικείμενο. -replace is used on strings in PowerShell, η οποία αντικαθιστά ένα string με ένα νέο κορδόνι. -replace είναι μια λειτουργία που παίρνει 2 Παράμετροι. Το 1ο παράμετρος είναι η παλιά συμβολοσειρά που θέλετε να αντικαταστήσετε και το 2ο παράμετρος είναι το νέο κορδόνι.

Σύλληψη ομάδες στην Regex επιτρέπει να μας κρατήσει μέρη του string. Σε Regex, οτιδήποτε θέσει σε παρένθεση συλλαμβάνεται να χρησιμοποιήσετε αργότερα. π.χ.. (.+)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 Δήλωση

Αφήστε μια απάντηση