- Απαιτήσεις: Directory Opus
- Κόστος: 50 ευρώ
- Ολοκλήρωση εγχειρήματος: 30 Λεπτά
- Επίπεδο δυσκολίας: 6/10
Αξιοποιήστε τη δύναμη των Regular Expressions για να δημιουργήσετε φίλτρα μετονομασίας αρχείων, που καταλαβαίνουν το περιεχόμενο κάθε ονόματος.
Τα RegEx εΙναι Ενα σετ όρων μέσω των οποίων ο χρήστης μπορεί να προσδιορίσει με περισσότερη ακρίβεια τα δεδομένα που αναζητά ή θέλει να διαχειριστεί. Μπορεί, για παράδειγμα, να δηλώσει ότι αυτό που ψάχνει σε μια αναζήτηση είναι αριθμοί και όχι λέξεις. Μπορεί σε μια διαδικασία μετονομασίας να επιλέξει ότι θέλει να κρατήσει σταθερή την αρχή, το τέλος και την κατάληξη των αρχείων, αλλά να αφαιρέσει ενδιάμεσους χαρακτήρες. Σίγουρα πρόκειται για μια πιο ευέλικτη προσέγγιση, που κάνει τον κλασικό αστερίσκο να μοιάζει απλοϊκός, αλλά συνάμα προϋποθέτει αρκετό πειραματισμό ή πολλή όρεξη για μελέτη από πλευράς χρήστη μέχρι να καταλάβει πώς μπορεί να την αξιοποιήσει.
Τα RegEx υποστηρίζονται πια από πολλές εφαρμογές, αλλά μία από τις πληρέστερες είναι το Directory Opus, που θα το χρησιμοποιήσουμε και στα δικά μας παραδείγματα. Φυσικά, όσα θα δούμε αποτελούν μονάχα μια σύντομη εισαγωγή, για αυτό αξίζει να πειραματιστείτε δημιουργώντας RegEx scripts που να καλύπτουν καλύτερα τις δικές σας ανάγκες.
Σε όλα τα βήματα πρώτη κίνηση είναι η δημιουργία ενός νέου πλήκτρου στην μπάρα λειτουργιών του Directory Opus, στο οποίο θα προστεθεί μια διαδικασία rename. Κάντε, λοιπόν, δεξί κλικ στην μπάρα της εφαρμογής, επιλέξτε “Customize”, ξανακάντε κλικ και διαλέξτε New>New Button. Στο πεδίο “Label” δώστε ένα όνομα, κάντε κλικ στο “Advanced” και εκεί προσθέστε μια από τις ακόλουθες λειτουργίες.
Βήμα 1
Rename TYPE=files REGEXP PATTERN “(.+)+_(.+)(\.[^.]+)” TO \2_\1\3
Χρησιμοποιήστε την παραπάνω εντολή, αν θέλετε να αλλάξετε τη σειρά με την οποία εμφανίζονται οι λέξεις στα ονόματα των αρχείων. Έτσι, μπορείτε με ένα κλικ να μετονομάσετε ένα σύνολο αρχείων από, για παράδειγμα, ΟδυσσέαςPCW.doc σε PCWΟδυσσέας.doc. Το πρώτο (.+) αντιστοιχεί στην πρώτη λέξη του αρχείου (Οδυσσέας) και το “+_” δηλώνει ότι ύστερα από αυτό βρίσκεται μια κάτω παύλα (underscore). Το δεύτερο (.+) αντιστοιχεί στη δεύτερη λέξη (PCW) και το “(.[^.]+)” αντιστοιχεί στην κατάληξη του αρχείου. Το περιεχόμενο κάθε αγκύλης αναγνωρίζεται ως σύνολο, το οποίο καταχωρείται με αριθμητική σειρά, διευκολύνοντας τη διαχείρισή του.
Στο παράδειγμά μας, στη σειρά 1-2-3 το 1 είναι η λέξη “Οδυσσέας”, το 2 το “PCW” και το 3 η κατάληξη doc. Τώρα, αν η προσοχή στραφεί στο τέλος της εντολής που ακολουθεί το “TO”, γίνεται ορατός ο τρόπος της μετονομασίας: ζητάμε η σειρά λέξεων 1-2-3 να γίνει 2-1-3. Επειδή, δε, θα αφαιρεθεί από την εντολή μας, έχουμε προσθέσει αμέσως μετά το 2 ένα underscore για να διαχωρίζονται οι λέξεις και να είναι ευανάγνωστο το τελικό όνομ α. Σημειώστε ότι, αν δηλωθεί ως τελικό όνομα η σειρά \2\3 ή \1\3, αν παραλειφθεί δηλαδή ένας από τους αριθμούς, το αποτέλεσμα είναι η αφαίρεση της αντίστοιχης λέξης. Έτσι, το τελικό αρχείο μπορεί να έχει όνομα, για παράδειγμα, PCW.doc.
Βήμα 2
Rename REGEXP PATTERN “....(.+)(\.[^.]+)” TO \1\2
Στον κόσμο των RegEx η τελεία αντιστοιχεί εξαρχής σε έναν χαρακτήρα. Η εντολή που βλέπουμε χωρίζει κάθε αρχείο σε δύο τμήματα (όπως ήδη είδαμε, ορίζονται από τις αγκύλες), τα οποία όμως βρίσκονται ύστερα από τέσσερεις τελείες – δηλαδή, ύστερα από τέσσερα γράμματα. Δηλώνοντας ότι θέλουμε τα αρχεία να μετονομαστούν σε αυτά τα δύο τμήματα, αγνοούμε τις τελείες που έχουν προηγηθεί – δηλαδή, τα πρώτα τέσσερα γράμματα κάθε αρχείου, τα οποία και αφαιρούνται από το όνομα των μετονομασμένων αρχείων.
Έτσι, αν έχετε μια σειρά αρχείων με ονόματα όπως pic_Nikos.TIF, pic_Kostas.TIF, pic_Dimitris.TIF, η εντολή που βλέπουμε αφαιρεί τα τέσσερα πρώτα γράμματα, δίνοντάς σας τα Nikos.TIF, Kostas.TIF και Dimitris.TIF. Φυσικά, οι τελείες μπορούν να βρίσκονται και ανάμεσα σε δύο τμήματα – π.χ. η εντολή να έχει τη μορφή “(.+)…(.[^.]+)” TO \1\2”, με αφαίρεση των τεσσάρων τελευταίων γραμμάτων του ονόματος, που όμως προηγούνται της κατάληξης του αρχείου.
Βήμα 3
Rename REGEXP PATTERN “(.+)+_([0-9][0-9][0-9][0-9])(.+)” TO “\2_\1\3”
Έχετε μια σειρά αρχείων στα οποία μεσολαβεί η χρονολογία καθενός από αυτά και θα θέλατε να τα ταξινομήσετε βάσει αυτής; Κανένα πρόβλημα! Προσθέστε σε ένα πλήκτρο του Directory Opus αυτήν την εντολή, η οποία του λέει να χωρίσει κάθε αρχείο σε τρία τμήματα: ένα αρχικό, ένα στη μέση που περιλαμβάνει τέσσερεις αριθμούς από το 0 έως το 9 (αφού και η χρονολογία είναι τετραψήφια) και ένα τελικό με το τμήμα της χρονολογίας στην αρχή και ενωμένα τα άλλα δύο.
Έτσι, αρχεία όπως το “Petros_2006.JPG” μετατρέπονται σε “2006_Petros.JPG”. Προσέξτε ότι στο αρχικό pattern έχει δηλωθεί ότι υπάρχει ένα underscore ανάμεσα στο πρώτο τμήμα του ονόματος του αρχείου και τη χρονολογία, καθώς και ότι στο μετονομασμένο αρχείο έχει προστεθεί ένα underscore, ώστε αυτά να παραμένουν διαχωρισμένα.
Βήμα 4
Rename TYPE=files REGEXP PATTERN (.*)([^-0-9a-zA-Z._]+)(.*)# ΤΟ \1_\3
Rename TYPE=files REGEXP PATTERN “(.*)(DivX|MP3|OGG)(.*)” TO \1\3
Κλείνουμε με δύο εντολές που ολοκληρώνουν δύο αρκετά χρήσιμες λειτουργίες. Η πρώτη αναλαμβάνει να αφαιρέσει όλους τους “περίεργους” χαρακτήρες από τα ονόματα των αρχείων, αφήνοντας μόνο γράμματα, αριθμούς, παύλες και underscores (δηλαδή, τα γράμματα που περιέχονται στην αγκύλη). Η δεύτερη διαγράφει οποιαδήποτε από τις λέξεις περιλαμβάνον ται στη δεύτερη παρένθεση από το όνομα κάθε αρχείου (προσέξτε ότι δεν επηρεάζεται η κατάληξη των αρχείων, αφού η παράμετρος προηγείται αυτής/βρίσκεται “στη μέση” κάθε ονόματος).