viper2005 Δημοσ. 18 Οκτωβρίου 2015 Δημοσ. 18 Οκτωβρίου 2015 so προσπαθω να μετακινησω τα περιεχομενα φακελων (με διαφορετικα ονοματα) σε ενα φακελο. τα περιεχομενα ειναι pdf που ερχονται και αυτα με πολλα ονοματα. δοκιμασα τα αποκατω @ECHO FOR /D /r %%F in ("*") DO ( pushd %CD% cd %%F FOR %%X in (*.πδφ) DO ( "MOVE *.PDF C:\Users\qwerty\Desktop\New folder "%%X" ) popd ) PAUSE δεν. δοκιμασα αυτο @ECHO FOR /D /r %%F in ("*") DO ( pushd %CD% cd %%F FOR %%X in (*.rar) DO ( MOVE *.PDF "C:\Users\qwerty\Desktop\New folder" "%%X" ) popd ) PAUSE δεν. δοκιμασα MOVE C:\Users\qwerty\Desktop\New folder*.PDF MOVE C:\Users\qwerty\Desktop\New folder(2)*.PDF δεν, again. So, το ερωτημα ειναι πως του λεω να ψαξει τα pdf των φακελων και να τα φερει εστω και ενα επιπεδο πανω? thanks
TheELF Δημοσ. 18 Οκτωβρίου 2015 Δημοσ. 18 Οκτωβρίου 2015 Για να αντιγράψεις όλα τα pdf από τον φάκελο και όλους τους υπό φακέλους. cd /d %0\.. κάνει cd στον φάκελο όπου βρίσκεται αυτό το bat dir /s /b *.pdf >file.txt κάνει μια λίστα με τα pdf σε απλή μορφή κειμένου for /f "delims=" %%a in (file.txt) do ( παίρνει το όνομα του pdf και αρχίζει την λούπα με το ( copy "%%a" ..\ αντιγράφει το αρχείο ένα επίπεδο ποιο πάνω * ) τελειώνει την λούπα *μπορείς να βάλεις και έναν συγκεκρυμένο φάκελο να πάνε όλα εκεί 1
viper2005 Δημοσ. 19 Οκτωβρίου 2015 Μέλος Δημοσ. 19 Οκτωβρίου 2015 Για να αντιγράψεις όλα τα pdf από τον φάκελο και όλους τους υπό φακέλους. cd /d %0\.. κάνει cd στον φάκελο όπου βρίσκεται αυτό το bat dir /s /b *.pdf >file.txt κάνει μια λίστα με τα pdf σε απλή μορφή κειμένου for /f "delims=" %%a in (file.txt) do ( παίρνει το όνομα του pdf και αρχίζει την λούπα με το ( copy "%%a" ..\ αντιγράφει το αρχείο ένα επίπεδο ποιο πάνω * ) τελειώνει την λούπα *μπορείς να βάλεις και έναν συγκεκρυμένο φάκελο να πάνε όλα εκεί δεν δουλεψε και μου εβγαλε σφαλμα " the file cannot be copied onto to itself" @ECHO cd /d %0\.. dir /s /b *.pdf >file.txt for /f "delims=" %%a in (file.txt) do ( copy "C:\Users\qwerty\Desktop\New folder" ) PAUSE το αρχειο φτιαχτηκε παντως. καμια αλλη προταση? thanks
TheELF Δημοσ. 19 Οκτωβρίου 2015 Δημοσ. 19 Οκτωβρίου 2015 δεν δουλεψε και μου εβγαλε σφαλμα " the file cannot be copied onto to itself" Επιδή μάλλον έχεις το κάθε pdf μέσα σε φάκελο που έχει το ίδιο όνομα με το pdf.
micos000 Δημοσ. 20 Οκτωβρίου 2015 Δημοσ. 20 Οκτωβρίου 2015 Δεξί κλικ στον φάκελο->αναζήτηση. Εύρεση για *.pdf Επιλογή όλων. Αποκοπή Επικόλληση. Εκτός αν πρέπει σώνει και καλά να γίνει με batch script. EDIT: Είδα τα δύο σκριπτάκια σου viper αλλά είναι ότι να 'ναι. Μόνος σου τα έγραψες ή τα πήρες όπως είναι από αλλού; Στο 1ο, στην 2η for κάνεις αναζήτηση για *.πδφ Τι περιμένεις να σου βρει; Άντε και σου βρήκε κάποιο αρχείο πδφ, η move γιατί έχει " μπροστά; Μετά ορίζεις φάκελο αποστολής, άντε καλά. Το "%%X" στο τέλος τι το θέλεις; Άσε που έχεις αφήσει και κενό μετά το New Folder και θα έπρεπε να βάλεις ένα / και να κολλήσεις το όνομα αρχείου, πράγμα όμως που δεν χρειάζεται αφού δεν θέλεις να αλλάξεις το όνομα του αρχείου, οπότε το σταματάς στο new folder ή το κάνεις όπως στο 2ο script όπου έχεις ορίσει σωστά το path με " και " μπροστά και πίσω και εκεί μπορείς να βάλεις και το "%%X" στο τέλος. Στο 2ο όμως ψάχνεις για *.rar στη 2η for. Τελικά rar ή για πδφ θέλεις να βρεις :-D Το διορθωμένο script είναι το παρακάτω: @echo off md c:\temp_pdf FOR /D /r %%F in ("*") DO ( pushd %CD% cd %%F FOR %%X in (*.pdf) DO ( MOVE *.PDF C:\temp_pdf\ ) popd ) PAUSE Στην move βάλε το path που θέλεις να τα πας και διέγραψε ή διόρθωση την 2η γραμμή που δημιουργεί φάκελο temp_pdf στον c και μετέφερε το σκριπτάκι το parent folder από εκεί που θέλεις να πάρεις τα pdf. Αν το αφήσεις έτσι θα δουλέψει αλλά θα σου δημιουργήσει φάκελο στον c και θα μεταφέρει εκεί τα pdf
viper2005 Δημοσ. 21 Οκτωβρίου 2015 Μέλος Δημοσ. 21 Οκτωβρίου 2015 Δεξί κλικ στον φάκελο->αναζήτηση. Εύρεση για *.pdf Επιλογή όλων. Αποκοπή Επικόλληση. Εκτός αν πρέπει σώνει και καλά να γίνει με batch script. EDIT: Είδα τα δύο σκριπτάκια σου viper αλλά είναι ότι να 'ναι. Μόνος σου τα έγραψες ή τα πήρες όπως είναι από αλλού; Στο 1ο, στην 2η for κάνεις αναζήτηση για *.πδφ Τι περιμένεις να σου βρει; Άντε και σου βρήκε κάποιο αρχείο πδφ, η move γιατί έχει " μπροστά; Μετά ορίζεις φάκελο αποστολής, άντε καλά. Το "%%X" στο τέλος τι το θέλεις; Άσε που έχεις αφήσει και κενό μετά το New Folder και θα έπρεπε να βάλεις ένα / και να κολλήσεις το όνομα αρχείου, πράγμα όμως που δεν χρειάζεται αφού δεν θέλεις να αλλάξεις το όνομα του αρχείου, οπότε το σταματάς στο new folder ή το κάνεις όπως στο 2ο script όπου έχεις ορίσει σωστά το path με " και " μπροστά και πίσω και εκεί μπορείς να βάλεις και το "%%X" στο τέλος. Στο 2ο όμως ψάχνεις για *.rar στη 2η for. Τελικά rar ή για πδφ θέλεις να βρεις :-D Το διορθωμένο script είναι το παρακάτω: @echo off md c:\temp_pdf FOR /D /r %%F in ("*") DO ( pushd %CD% cd %%F FOR %%X in (*.pdf) DO ( MOVE *.PDF C:\temp_pdf\ ) popd ) PAUSE Στην move βάλε το path που θέλεις να τα πας και διέγραψε ή διόρθωση την 2η γραμμή που δημιουργεί φάκελο temp_pdf στον c και μετέφερε το σκριπτάκι το parent folder από εκεί που θέλεις να πάρεις τα pdf. Αν το αφήσεις έτσι θα δουλέψει αλλά θα σου δημιουργήσει φάκελο στον c και θα μεταφέρει εκεί τα pdf Παιρνω μυνημα: the syntax of the command is incorrect @ECHO md c:\temp_pdf FOR /D /r %%F in ("*") DO ( pushd %CD% cd %%F FOR %%X in (*.pdf) DO ( MOVE *.PDF C:\Users\qwerty\Desktop\New folder\ ) popd ) PAUSE edit το εγραψα ετσι και μου το πηρε @ECHO md c:\temp_pdf FOR /D /r %%F in ("*") DO ( pushd %CD% cd %%F FOR %%X in (*.pdf) DO ( MOVE *.PDF "C:\Users\qwerty\Desktop\New folder\" ) popd ) PAUSE thanks & mark it as closed edit το md c:\temp_pdf το χρειαζομαι; ακυρο το βρηκα, thanks
micos000 Δημοσ. 21 Οκτωβρίου 2015 Δημοσ. 21 Οκτωβρίου 2015 Έτσι, για τους τύπους, στα batch scripts πρέπει να βάλεις το path σε ομοιωματικά " και " όταν έχεις κενό σε κάποιο όνομα φακέλου ή αρχείου ή του path (όπως στην move). Εγώ δεν το χρειάστηκα γιατί δεν έχω κενά (ενώ κακώς δεν το έβαλα, θα έπρεπε να το βάλω για συμβατότητα) ενώ εσύ χρησιμοποιήσεις το όνομα New Folder για τον φάκελο προορισμού οπότε έπρεπε να το βάλεις υποχρεωτικά. Όπως κατάλαβες, το md δημιουργεί τον φάκελο στον c. Εσύ δεν το χρειάζεσαι αφού άλλαξες το path όπου θα αντιγράφονται τα αρχεία.
rfc Δημοσ. 23 Οκτωβρίου 2015 Δημοσ. 23 Οκτωβρίου 2015 Εγω το βαζω παντα για συμβατοτητα εχω δεν εχω κενα.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα