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

Bash finding and moving


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

Δημοσ.

Λοιπόν εχω ενα φάκελο που γεμίζει διάφορα αρχεία άμα περίεργα χρονικά διαστήματα. Ας πούμε αυτόν τον φάκελο d:/drop.

Για πολλά απο αυτα αρχεία εχω folders σε διαφορετικές τοποθεσίες. Πχ d:/archive/name1 και τα σχετικά.

 

Η ερώτηση ειναι η εξής:

Τι πρεπει να γράψω για να βρίσκει τα αρχεία (αν υπαρχουν) στον συγκεκριμένο φάκελο και να τα μεταφέρει στις συγκεκριμένες τοποθεσίες?

 

 

Thanks

Δημοσ.

Μόνο με βάση την κατάληξη μπορείς να δουλέψεις,οπότε η εντολή είναι,για παράδειγμα για όλα τα pdf 

copy *.pdf d:\archive\pdf 

ο φάκελος πρέπει να υπάρχει από πριν,αν θες την γράφεις σε ένα αρχείο κειμένου και το αποθηκεύεις σαν .bat και τρέχει με διπλό κλικ,σε αυτήν την περίπτωση είναι καλό να μπει πρώτα η εντολή cd /d %0\.. για να γίνει η συσχέτηση με τον φάκελο όπου είναι το bat.

Δηλαδή

cd /d %0\..
copy *.pdf d:\archive\pdf
  • Like 1
Δημοσ.

«αυτός ο φάκελος» 

 

Στο σύνολο Cd = change directory (άλλαξε φάκελο) /d = drive (άλλαξε και την διαδρομή του δίσκου)  %0\.. = στον φάκελο όπου είναι αυτό το αρχείο (το bat που τρέχεις)

 

Αυτό γίνεται για να μην αντιγράφει αρχεία από όπου βρει αφού υπάρχουν διαδρομές στο path δηλαδή διαδρομές που είναι πάντοτε προσβάσιμες. 

  • Like 1
Δημοσ.

Μόνο με βάση την κατάληξη μπορείς να δουλέψεις,οπότε η εντολή είναι,για παράδειγμα για όλα τα pdf 

copy *.pdf d:\archive\pdf 

ο φάκελος πρέπει να υπάρχει από πριν,αν θες την γράφεις σε ένα αρχείο κειμένου και το αποθηκεύεις σαν .bat και τρέχει με διπλό κλικ,σε αυτήν την περίπτωση είναι καλό να μπει πρώτα η εντολή cd /d %0\.. για να γίνει η συσχέτηση με τον φάκελο όπου είναι το bat.

Δηλαδή

 

cd /d %0\..
copy *.pdf d:\archive\pdf

Ερώτηση

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

Πχ

copy 1*.pdf d:\archive

Copy 2 *.pdf d:\archive2

 

And so on?

 

Thanks

Δημοσ.

Δεν κατάλαβα τη θες να κάνεις...

Με το *.pdf θα πάρει όλα τα pdf αρχεία,εσύ θες να παίρνει μόνο ένα;

Κάποιο με συγκεκριμένο όνομα,και να το βάλεις σε κάποιο φάκελο μόνο του;;; 

Δημοσ.

Δεν κατάλαβα τη θες να κάνεις...

Με το *.pdf θα πάρει όλα τα pdf αρχεία,εσύ θες να παίρνει μόνο ένα;

Κάποιο με συγκεκριμένο όνομα,και να το βάλεις σε κάποιο φάκελο μόνο του;;; 

 

 

ιιιιιιι

οχι ολα τα pdf. Δηλαδη οχι με βαση τα filetype αλλα με βαση το filename.

Επισης

ναι καθε ενα αρχειο πρεπει να παει σε ενα συγκεκριμενο φακελο.

 

 

Thanks

So

επαιξα λιγο με το google και εγραψα το παρακατω

 

@echo
Move E:\00mags\"mags unsorted"\"amateur photographer*.pdf" E:\00mags\0photomags\"0amateur photographer"
PAUSE
 
και παρολο που μου μετεφερε τα αρχεια, δεν μου τα εσβησε απο original folder. 
Ξεχασα καποιο command?
 
Thanks
 
ακυρο
ολα okay, ειχα ξεχασει να κανω right click/ run as admin
 
case closed
Δημοσ.

Άμα είναι να τα γράφεις ένα ένα τα κάνεις και από τα εικονίδια...

 

Γράφονται μήπως ανά διαστήματα pdf με το ίδιο ή παρόμοιο όνομα,από κάποια λειτουργία π.χ. ,και θες κάποιες ομάδες να πηγαίνουν σε κάποιους φακέλους;

 

Το * στέκει για οτιδήποτε, δηλαδή αν τα αρχεία έχουν ένα κομμάτι ίδιο βάζεις αυτό το κομμάτι και το * εκεί που μπορεί να αλλάζει π.χ.

panta_idio*.pdf 

Δημοσ.

Άμα είναι να τα γράφεις ένα ένα τα κάνεις και από τα εικονίδια...

 

Γράφονται μήπως ανά διαστήματα pdf με το ίδιο ή παρόμοιο όνομα,από κάποια λειτουργία π.χ. ,και θες κάποιες ομάδες να πηγαίνουν σε κάποιους φακέλους;

 

Το * στέκει για οτιδήποτε, δηλαδή αν τα αρχεία έχουν ένα κομμάτι ίδιο βάζεις αυτό το κομμάτι και το * εκεί που μπορεί να αλλάζει π.χ.

panta_idio*.pdf 

 

ναι εχουν και διαστηματα αλλα εχουν και κομματια ιδια που αλλαζουν στο τελος.

Επισης επειδη βαριομουν να κανω copy paste καθε βδομαδα, ειπα να προσπαθησω να αυτοματοποιησω καπως την κατασταση.

 

Thanks

  • 1 μήνα μετά...
Δημοσ.

soooooo

 

εχω 2 αρχεια pdf με ονομα: καπως ετσι.pdf, ειναι ετσι.pdf

 

 

 

ερωτηση

τι γραφω (wildcards, strings, etc) για να τα βρει (ως προς το ετσι part of the filename) και να τα μετακινησει σε ενα συγκεκριμενο φακελο?

 

 

thanks

Δημοσ.
*έτσι*.pdf

Δηλαδή...

[οτιδήποτε]έτσι[οτιδήποτε].pdf

 

Το οτιδήποτε μπορεί να είναι ένας ή περισσότεροι χαρακτήρες ή μπορεί και να μην είναι τίποτα. Δηλαδή:

έτσι είναι.pdf

κάπως έτσι.pdf

αυτό έτσι είναι.pdf

Υπ' όψιν, οι τονισμένοι χαρακτήρες είναι διαφορετικοί από τους μη τονισμένους. Δηλαδή το "έτσι" είναι διαφορετικό από το "ετσι".

Επίσης θα σου πάρει και το "κοτέτσι.pdf" με την παραπάνω εντολή εκτός αν ξέρεις σίγουρα ότι έχει κενό πριν το "έτσι" οπότε θα δώσεις:

* έτσι*.pdf

Με αυτόν τον τρόπο όμως χάνεις τα αρχεία που το όνομα τους αρχίζει με την λέξη "έτσι" π.χ. "έτσι είναι.pdf" γιατί δεν έχει κενό στην αρχή.

Για να καλύψεις και αυτό το ενδεχόμενο δίνει στο καπάκι και μια ακόμα εντολή:

έτσι*.pdf

δηλαδή χωρίς αστεράκι στην αρχή για να πάρει και την τελευταία περίπτωση.

Δημοσ.

 

*έτσι*.pdf
Δηλαδή...

[οτιδήποτε]έτσι[οτιδήποτε].pdf

 

Το οτιδήποτε μπορεί να είναι ένας ή περισσότεροι χαρακτήρες ή μπορεί και να μην είναι τίποτα. Δηλαδή:

έτσι είναι.pdf

κάπως έτσι.pdf

αυτό έτσι είναι.pdf

Υπ' όψιν, οι τονισμένοι χαρακτήρες είναι διαφορετικοί από τους μη τονισμένους. Δηλαδή το "έτσι" είναι διαφορετικό από το "ετσι".

Επίσης θα σου πάρει και το "κοτέτσι.pdf" με την παραπάνω εντολή εκτός αν ξέρεις σίγουρα ότι έχει κενό πριν το "έτσι" οπότε θα δώσεις:

* έτσι*.pdf
Με αυτόν τον τρόπο όμως χάνεις τα αρχεία που το όνομα τους αρχίζει με την λέξη "έτσι" π.χ. "έτσι είναι.pdf" γιατί δεν έχει κενό στην αρχή.

Για να καλύψεις και αυτό το ενδεχόμενο δίνει στο καπάκι και μια ακόμα εντολή:

έτσι*.pdf
δηλαδή χωρίς αστεράκι στην αρχή για να πάρει και την τελευταία περίπτωση.

Δοκίμασα ήδη τον τελευταίο τροπο και μου οηρε κάποια αρχεία. Θα δοκιμάσω με τους υπόλοιπους και θα ποσταρω.

 

Thanks

Δημοσ.

Θα πρέπει να κάνεις και τα δύο όμως για να είσαι καλυμμένος, έτσι;

Το εχω κανει ήδη. Thanks

 

 

Edit

Θα επρεπε να ειναι batch και οχι bash ο τίτλος...

:-)

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...