Προς το περιεχόμενο

Ομαδική μετονομασία


aloenanick

Προτεινόμενες αναρτήσεις

Δημοσ.

Γιατί κάποιος κατάλαβε τί ήθελα και έκατσε να μου βρέξει το παξιμάδι.

 

Αφού σε "τρώει" λοιπόν,φτιάξε μου ένα scriptάκι του στυλ

"Μετονόμασε όλα τα εσωτερικά αρχεία στους φακέλους + υποφακέλους,με το όνομα του αρχικού φακέλου,στο καθένα απ' αυτά".
Δημοσ.

Για να καταλάβω, επειδή δεν πολυέβγαλα άκρη από το edit στο #9 τί πρόβλημα αντιμετώπισες ακριβώς, μπορείς να δώσεις ένα παράδειγμα με τη δενδρική δομή υποκαταλόγων και αρχείων που δημιούργησε το πρόβλημα;

 

Π.χ.

>
E:\Movies\Movie1\CD1\CD1.avi
E:\Movies\Movie1\CD2\CD2.avi

 

Και θέλεις να γίνουν έτσι;

>
E:\Movies\Movie1\Movie1.CD1.avi
E:\Movies\Movie1\Movie1.CD2.avi

 

Ή κάτι άλλο... ;

Δημοσ.

Bάλε και τα srtιά μαζί,με την ίδια ονομασία και είσαι μέσα.

 

Δηλαδή

 

Folder:

The Big->inside folders CD1,CD2 και θέλω να λέει The big1.avi και The big1.srt στο πρώτο CD1 και The big2.avi,The big2.srt στο δεύτερο folder,στο CD2...

 

Άμα φτιάξεις κατάσταση,έλα να σε χρίσω επιστάτη σε ένα ποικίλης ύλης που στήνω...

Σοβαρά μιλάω,μόνο που είναι χάϊ ρισκ.

Δημοσ.

Στο συνημμένο αρχείο "batchfiles.zip" στο τέλος του παρόντος post, έχω βάλει δύο batch files: Το "batchrename.cmd" και το "batchrename_test.cmd". Το πρώτο καλείται ως εξής:

>
batchrename FAKELOS

όπου FAKELOS είναι η απόλυτη (όχι σχετική) διαδρομή του καταλόγου που περιέχει τους υποκαταλόγους με τις ταινίες στις οποίες θέλουμε να εφαρμοστεί η μετονομασία. Το "batchrename_test.cmd" παίρνει την ίδια παράμετρο, αλλά ο σκοπός του είναι δοκιμαστικός: Δεν πραγματοποιεί καμία μετονομασία, απλώς τυπώνει στην οθόνη τις μετονομασίες που θα πραγματοποιούσε το "batchrename.cmd" αν τρέχαμε αυτό στη θέση του. Το δοκιμαστικό το έφτιαξα γιατί το κανονικό batch file είναι λίγο «στο πόδι» φτιαγμένο και δε θέλω να πάρω στο λαιμό μου τον topic starter που το ζήτησε καθώς και όποιον άλλον το δοκιμάσει.

 

 

Παράδειγμα εκτέλεσης

Στο partition E: υπάρχουν τα 2 batch files και ένας κατάλογος "Movies" με τα παρακάτω περιεχόμενα:

>
E:\>tree Movies /F
Folder PATH listing for volume Data
Volume serial number is 94F3-FBC3
E:\MOVIES
├───Lord.Of.War.2005.DVDSCR.XviD-FiCO
│   ├───CD1
│   │       CD1.avi
│   │       CD1.srt
│   │
│   └───CD2
│           CD2.avi
│           CD2.srt
│
└───The Big
   ├───CD1
   │       CD1.avi
   │       CD1.srt
   │
   └───CD2
           CD2.avi
           CD2.srt

 

Τρέχοντας το batch file "batchrename_test.cmd" έχουμε:

>
E:\>batchrename_test.cmd E:\Movies
To "E:\Movies\Lord.Of.War.2005.DVDSCR.XviD-FiCO\CD1\CD1.avi" 8a ginei "E:\Movies\Lord.Of.War.2005.DVDSCR.XviD-FiCO\CD1\Lord.Of.War.2005.DVDSCR.XviD-FiCO1.avi"
To "E:\Movies\Lord.Of.War.2005.DVDSCR.XviD-FiCO\CD1\CD1.srt" 8a ginei "E:\Movies\Lord.Of.War.2005.DVDSCR.XviD-FiCO\CD1\Lord.Of.War.2005.DVDSCR.XviD-FiCO1.srt"
To "E:\Movies\Lord.Of.War.2005.DVDSCR.XviD-FiCO\CD2\CD2.avi" 8a ginei "E:\Movies\Lord.Of.War.2005.DVDSCR.XviD-FiCO\CD2\Lord.Of.War.2005.DVDSCR.XviD-FiCO2.avi"
To "E:\Movies\Lord.Of.War.2005.DVDSCR.XviD-FiCO\CD2\CD2.srt" 8a ginei "E:\Movies\Lord.Of.War.2005.DVDSCR.XviD-FiCO\CD2\Lord.Of.War.2005.DVDSCR.XviD-FiCO2.srt"
To "E:\Movies\The Big\CD1\CD1.avi" 8a ginei "E:\Movies\The Big\CD1\The Big1.avi"
To "E:\Movies\The Big\CD1\CD1.srt" 8a ginei "E:\Movies\The Big\CD1\The Big1.srt"
To "E:\Movies\The Big\CD2\CD2.avi" 8a ginei "E:\Movies\The Big\CD2\The Big2.avi"
To "E:\Movies\The Big\CD2\CD2.srt" 8a ginei "E:\Movies\The Big\CD2\The Big2.srt"

 

Αφού επιβεβαιώσουμε ότι δεν πρόκειται να προκύψει κάποια λάθος/ανεπιθύμητη μετονομασία, εκτελούμε και το "batchrename.cmd":

>
E:\>batchrename.cmd E:\Movies

E:\>

 

Τελικά έχουμε:

>
E:\>tree Movies /F
Folder PATH listing for volume Data
Volume serial number is 94F3-FBC3
E:\MOVIES
├───Lord.Of.War.2005.DVDSCR.XviD-FiCO
│   ├───CD1
│   │       Lord.Of.War.2005.DVDSCR.XviD-FiCO1.avi
│   │       Lord.Of.War.2005.DVDSCR.XviD-FiCO1.srt
│   │
│   └───CD2
│           Lord.Of.War.2005.DVDSCR.XviD-FiCO2.avi
│           Lord.Of.War.2005.DVDSCR.XviD-FiCO2.srt
│
└───The Big
   ├───CD1
   │       The Big1.avi
   │       The Big1.srt
   │
   └───CD2
           The Big2.avi
           The Big2.srt

 

To batch file θα αποτύχει σε όσες περιπτώσεις ο κατάλογος της κάθε ταινίας δεν περιέχει υποκαταλόγους CD1 και CD2. Επίσης, για περιπτώσεις με περισσότερα τμήματα (π.χ. CD3, CD4 κλπ.) το batch file δε θα δουλέψει χωρίς τροποποιήσεις.

 

 

Ακολουθεί το συνημμένο με τα batchfiles, καθώς κι ένα επιπλέον για πειραματισμό που περιέχει μούφα δοκιμαστικά αρχεία μηδενικού μεγέθους (0 bytes) με τη δομή καταλόγων που παρουσιάστηκε στο παράδειγμα εκτέλεσης:

.

batchfiles.zip

dokimastika_arxeia.zip

Δημοσ.

Πουρνό-πουρνό βλέπω...

 

Θα checkάρω ώρα που στο computer δεν θάμαι για χαβαλέ αλλά για δουλειά.

 

Thnkz m8 που ασχολείσαι,το εκτιμώ και επιφυλάσσομαι γι αυτό.

 

 

edit:Τωρα τα ονοματισε τρεις φορες το καθενα

 

sorry για τους τονους,παιζω με tablet...

  • 2 εβδομάδες αργότερα...
Δημοσ.

Πάνω μία ακόμα...(sorry)

Υπάρχει αυτός ο φάκελος:

9.Tenths.2006.RETAIL.FESTIVAL.DVDRip.XViD
και μέσα αυτοί οι δυό:
9.Tenths.2006.RETAIL.FESTIVAL.DVDRip.XViD9.Tenths.2006.RETAIL.FESTIVAL.DVDRip.XViD9.Tenths.2006.RETAIL.FESTIVAL.DVDRip.XViD.avi και 9.Tenths.2006.RETAIL.FESTIVAL.DVDRip.XViD9.Tenths.2006.RETAIL.FESTIVAL.DVDRip.XViD9.Tenths.2006.RETAIL.FESTIVAL.DVDRip.XViD.srt.

Nαι μεν ονοματίστηκε όμως και ο "φιλοξενών" φάκελος,αλλά το proggy ήταν "πλούσια τα ελέη" και τριπλασίασε την ονομασία.

 

Θέλω λοιπόν να διορθωθεί.

 

Υ.Γ.Το ευχαριστώ είναι αυτονόητο,αλλά το αποτέλεσμα θα το χαρούμε όλοι.

 

A,κι αυτό θέλει διόρθωση:

 

Why.Did.I.Get.Married.DVDRip.XviD-DMT

CD1|->

CD1CD1dmt-tyler-cd1.avi

CD1CD1dmt-tyler-cd1.srt

 

Παρομοίως και το CD2,δεν πέρασε "εσωτερικά" στον υποφάκελλο η μετονομασία και κράτησε την ήδη υπάρχουσα ονομασία...

|->CD2

Δημοσ.

Δε μπορώ να αναπαράγω το πρόβλημα!

 

Για την 1η ταινία που αναφέρεις, το batch file που παρέθεσα παραπάνω δε δούλεψε σωστά γιατί δεν υπάρχει η ακριβής δομή φακέλων που προσδοκά το batch file να υπάρχει. Δηλαδή, το ενδιάμεσο επίπεδο με CD1 και CD2.

 

Στη 2η περίπτωση, η μετονομασία γίνεται κανονικά.

 

 

Αρχική δομή φακέλων και αρχείων με «μούφα» 0-byte αρχεία που δοκίμασα:

>
E:\>tree Movies /f
Folder PATH listing for volume System
Volume serial number is AC8B-C633
E:\MOVIES
├───9.Tenths.2006.RETAIL.FESTIVAL.DVDRip.XViD
│       movie.avi
│       movie.srt
│
└───Why.Did.I.Get.Married.DVDRip.XviD-DMT
   ├───CD1
   │       dmt-tyler-cd1.avi
   │       dmt-tyler-cd1.srt
   │
   └───CD2
           dmt-tyler-cd2.avi
           dmt-tyler-cd2.srt

 

 

Εκτέλεση του batch file:

>
E:\>batchrename.cmd E:\Movies
The system cannot find the path specified.
The system cannot find the path specified.

(τα μηνύματα λάθους αντιστοιχούν στην πρώτη ταινία, όπου η δομή των φακέλων/αρχείων δεν είναι η αναμενόμενη)

 

 

Τελική δομή φακέλων και αρχείων:

>
E:\>tree Movies /f
Folder PATH listing for volume System
Volume serial number is AC8B-C633
E:\MOVIES
├───9.Tenths.2006.RETAIL.FESTIVAL.DVDRip.XViD
│       movie.avi
│       movie.srt
│
└───Why.Did.I.Get.Married.DVDRip.XviD-DMT
   ├───CD1
   │       Why.Did.I.Get.Married.DVDRip.XviD-DMT1.avi
   │       Why.Did.I.Get.Married.DVDRip.XviD-DMT1.srt
   │
   └───CD2
           Why.Did.I.Get.Married.DVDRip.XviD-DMT2.avi
           Why.Did.I.Get.Married.DVDRip.XviD-DMT2.srt

 

Τα αρχεία της πρώτης ταινίας δεν πειράχτηκαν καν, της 2ης μετονομάστηκαν όπως ζητήθηκε.

Δημοσ.

Συγγνώμη που απαντώ μετά από αρκετές ημέρες.

 

Επειδή δεν έχω καταλάβει ακριβώς: Το πρόβλημα δημιουργήθηκε από το batch file που έδωσα στο post #20 ή από το έτοιμο πρόγραμμα που προτάθηκε πιο πάνω (ReNamer) ;

 

Επίσης, αυτό που ζητάς είναι τρόπος να διορθώσεις τα ονόματα των αρχείων στα οποία εμφανίζεται 3πλο το όνομα του πατρικού (ή του προπατρικού) καταλόγου; Αν ναι, μπορείς να κάνεις το εξής:

1. Για την πρώτη περίπτωση όπου δεν υπάρχει ενδιάμεσο επίπεδο υποκαταλόγων CD1 και CD2, αρκεί να χρησιμοποιήσεις το ReNamer, κάνοντας χρήση της συμβολικής μεταβλητής File_FolderName όπως ήδη αναφέρθηκε

 

2. Για τη δεύτερη περίπτωση, εφόσον ο προ-πατρικός κατάλογος έχει διατηρήσει το σωστό όνομα, αρκεί να τρέξεις το batch file που έδωσα στο #20 και θα πάρεις το επιθυμητό αποτέλεσμα:

 

>
E:\>tree /f Movies
Folder PATH listing for volume Data
Volume serial number is AC8B-C633
E:\MOVIES
L---Why.Did.I.Get.Married.DVDRip.XviD-DMT
   +---CD1
   ¦       CD1CD1dmt-tyler-cd1.avi
   ¦       CD1CD1dmt-tyler-cd1.srt
   ¦
   L---CD2
           dmt-tyler-cd2.avi
           dmt-tyler-cd2.srt

E:\>batchrename E:\Movies

E:\>tree /f Movies
Folder PATH listing for volume Data
Volume serial number is AC8B-C633
E:\MOVIES
L---Why.Did.I.Get.Married.DVDRip.XviD-DMT
   +---CD1
   ¦       Why.Did.I.Get.Married.DVDRip.XviD-DMT1.avi
   ¦       Why.Did.I.Get.Married.DVDRip.XviD-DMT1.srt
   ¦
   L---CD2
           Why.Did.I.Get.Married.DVDRip.XviD-DMT2.avi
           Why.Did.I.Get.Married.DVDRip.XviD-DMT2.srt

 

Προφανώς για να δουλέψουν σωστά και με ασφάλεια τα παραπάνω, θα πρέπει να χωρίσεις σε 2 διαφορετικές τοποθεσίες τους καταλόγους σου: σε ένα μέρος τις ταινίες που έχουν ενδιάμεσους καταλόγους CD1 και CD2, αλλού όσες δεν είναι έτσι.

Δημοσ.

Στο έχω πει ότι σ' αγαπάω;

 

Υ.Γ.Θα τη ψάξω αργότερα,αφού ξεχωρίσω σε διαφορετικά folders τις ταινίες σε σχέση με τα CDιά...,as u wish.

 

Σε κάθε περίπτωση θα postάρω αποτελέσματα.Ρώτα και τον περακείθενες αν με παίρνει να linkάρω (πάμπλικ...) αποτελέσματα.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...