Cacciatore Δημοσ. Τρίτη στις 01:53 μμ Δημοσ. Τρίτη στις 01:53 μμ Καλησπέρα σε όλους. Χρειάζομαι μια βοήθεια με το 7-z Θέλω να συμπιέσωσε μορφή 7z διάφορα αρχεία, όχι φακέλους, μεμονωμένα. πχ file1.txt file2.txt file3.txt κ.ο.κ. Υπάρχει κάποιος τρόπος να γίνε αυτό χωρίς να τα επιλέγω ένα-ενα, μια ςκ αμιλάμε για εκατοντάδες. Για τους φακέλους έχω ένα .bat (for /d %%X in (*) do "c:\Program Files\7-Zip\7z.exe" a "%%X.7z" "%%X\") που ότα το τρέχω συμπίεζει τον κάθε φάκελο ξεχωριστά. Μπορεί να γίνει κάτι παρόιμοιo και με τα διάφορα αρχεία;
kinhthra Δημοσ. Τρίτη στις 06:34 μμ Δημοσ. Τρίτη στις 06:34 μμ 4 ώρες πριν, Cacciatore είπε Καλησπέρα σε όλους. Χρειάζομαι μια βοήθεια με το 7-z Θέλω να συμπιέσωσε μορφή 7z διάφορα αρχεία, όχι φακέλους, μεμονωμένα. πχ file1.txt file2.txt file3.txt κ.ο.κ. Υπάρχει κάποιος τρόπος να γίνε αυτό χωρίς να τα επιλέγω ένα-ενα, μια ςκ αμιλάμε για εκατοντάδες. Για τους φακέλους έχω ένα .bat (for /d %%X in (*) do "c:\Program Files\7-Zip\7z.exe" a "%%X.7z" "%%X\") που ότα το τρέχω συμπίεζει τον κάθε φάκελο ξεχωριστά. Μπορεί να γίνει κάτι παρόιμοιo και με τα διάφορα αρχεία; Δοκιμάστε αυτή την εντολή: (for %%F in (*.*) do "c:\Program Files\7-Zip\7z.exe" a "%%~nF.7z" "%%F") 1
Cacciatore Δημοσ. Τρίτη στις 06:58 μμ Μέλος Δημοσ. Τρίτη στις 06:58 μμ (επεξεργασμένο) Ευχαριστώ πάρα πολύ. Δούλεψε. Μια απορία, επειδή έχω στραβωθεί. Η διαφορά "for %%F" απο την εντολή "for %%i" ποια είναι; Γιατί διάβαζα διάφορα στο νετ πριν ρωτησω εδώ, αλλά σε δοκιμές που έκανα, μου δημιουργούταν 7z αρχειο με κενο περιεχόμενο Επεξ/σία Τρίτη στις 06:58 μμ από Cacciatore
micos000 Δημοσ. Τρίτη στις 11:16 μμ Δημοσ. Τρίτη στις 11:16 μμ (επεξεργασμένο) 4 ώρες πριν, Cacciatore είπε Ευχαριστώ πάρα πολύ. Δούλεψε. Μια απορία, επειδή έχω στραβωθεί. Η διαφορά "for %%F" απο την εντολή "for %%i" ποια είναι; Γιατί διάβαζα διάφορα στο νετ πριν ρωτησω εδώ, αλλά σε δοκιμές που έκανα, μου δημιουργούταν 7z αρχειο με κενο περιεχόμενο Καμία διαφορά. To F και το i είναι απλά μεταβλητές και βάζεις ότι θέλεις εσύ. Μπορείς να βάλεις ότι θέλεις, αλλά θα πρέπει να χρησιμοποιείς το ίδιο όνομα σε όλο το script σου και είναι case sensitive, δηλαδή η %%F είναι διαφορετική από την %%f. Το διπλό %% σε σχέση με το μονό % είναι ότι η for όταν χρησιμοποιείτε μέσα σε bat file παίρνει το διπλό στη δήλωση την μεταβλητής ενώ όταν χρησιμοποιείτε σαν ξερή εντολή παίρνει το μονό. Μπορείς να δεις πιο αναλυτικά τις παραμέτρους και την χρήση όλων των εντολών αν δώσεις σε cmd την εντολή και στο τέλος προσθέσεις κενό-slash-question mark δηλαδή for /? Επεξ/σία Τρίτη στις 11:22 μμ από micos000 1
Cacciatore Δημοσ. Τετάρτη στις 05:54 πμ Μέλος Δημοσ. Τετάρτη στις 05:54 πμ Ευχαριστώ παρα πολύ για τις επεξηγήσεις!
micos000 Δημοσ. Τετάρτη στις 10:19 πμ Δημοσ. Τετάρτη στις 10:19 πμ (επεξεργασμένο) Καλό το 7-zip αλλά θέλει πολύ δουλειά ακόμα για το interface του. Εγώ προτιμώ το winrar πάντως... Με ένα κλικ κάνει αυτό που ζητάς. Επεξ/σία Τετάρτη στις 10:20 πμ από micos000
accipio Δημοσ. Τετάρτη στις 10:52 πμ Δημοσ. Τετάρτη στις 10:52 πμ Και με το δωρεάν Peazip γίνεται επίσης χωρίς γραμμή εντολών.
Cacciatore Δημοσ. Πέμπτη στις 05:57 πμ Μέλος Δημοσ. Πέμπτη στις 05:57 πμ Thanx για τις επισημάνσεις. To peazip παλιότερα που το είχα δοκιμάσει, γι καποιο λογο ´παγωνέ. Το winrar δε το χρησιμοποιώ στα windows για τι μου την δίνει απίστευτα στα νεύρα το καλσσικο purchase warning Μια ακόμα ερώτηση Πως μπορώ να τροποποίησω το bat για τους φακέλους ώστε να συμπιέζει τα αρχεία που βρίσκει μέσα στον φάκελο, χωρίς να περιλαμβάνει τον parent?
Cacciatore Δημοσ. Πέμπτη στις 07:45 πμ Μέλος Δημοσ. Πέμπτη στις 07:45 πμ (επεξεργασμένο) Αυτό που λέω αυτή την στιγμή είναι ότι έχω κάποια άρχεία μέσα σε φακέλους κάπως έτσι FOLDER01 | |--- SubFolder1 |--- SubFolder2 |--- file1 |--- file2 Και θέλω να τα συμπιέσω μαζικά ώστε να έχουν αυτήν την δομή COMPRESSED FOLDER01.7z | |--- SubFolder1 |--- SubFolder2 |--- file1 |--- file2 και όχι έτσι COMPRESSED FOLDER01.7z | |--- FOLDER01 | |--- SubFolder1 |--- SubFolder2 |--- file1 |--- file2 Επεξ/σία Πέμπτη στις 07:47 πμ από Cacciatore
micos000 Δημοσ. Πέμπτη στις 10:30 πμ Δημοσ. Πέμπτη στις 10:30 πμ (επεξεργασμένο) Στην αρχή βάζεις CD FOLDER01 και μετά δίνεις την FOR Επεξ/σία Πέμπτη στις 10:30 πμ από micos000 1
Cacciatore Δημοσ. Πέμπτη στις 11:19 πμ Μέλος Δημοσ. Πέμπτη στις 11:19 πμ Thaanx. Αυτό για έναν-εναν φακελο ξεχωριστά. Αυτό που θα ήθελα να δω αν μπορεί να γίνει είναι με μαζικούς φακέλους, να τους διαλέξω όλους και να συμπιέζει τα περιεχόμενά τους ξεχωριστά μέσα σε κάθε .7z χωρίς τον parent top-level folder
micos000 Δημοσ. Πέμπτη στις 01:23 μμ Δημοσ. Πέμπτη στις 01:23 μμ Βασικά, το 7zip έχει ένα κακό. Δεν συμπεριλαμβάνει τους άδειους φάκελους οπότε αν έχεις κάτι τέτοιο να ξέρεις ότι δεν θα υπάρχουν στο τελικό συμπιεσμένο αρχείο. Επίσης εμένα για κάποιον λόγο δεν μου βάζει του υποφάκελους και συμπιέζει μόνο τα αρχεία. Πάντως για να μπαίνει στους φάκελους και να κάνει δουλειά ξεχωριστά για τον καθένα θα χρησιμοποιήσεις τις παρακάτω εντολές... for /D %%S in (*) do ( cd "%%S" -----ΕΝΤΟΛΗ ΓΙΑ 7ZIP----- cd.. ) 1
Cacciatore Δημοσ. Παρασκευή στις 07:48 πμ Μέλος Δημοσ. Παρασκευή στις 07:48 πμ Για μελλοντικό reference, τελικά στην εντολή που παρέθεσε ο φίλος micos, αν αντικαταστησουμε το cd με τις εντολες pushdir/popdir λειρουργεί κανονικά, ψάχνοντας και συμπιέζοντας όλα τα περιεχόμαν ενός φακέλου, χωρίς τον parent top-level folder Συγκεκριμένα δλδ η εντολή γίνεται for /D %%Χ in (*) do ( pushd "%%X" "c:\Program Files\7-Zip\7z.exe" a "..\%%X.7z" * popd ) 1
micos000 Δημοσ. Παρασκευή στις 12:16 μμ Δημοσ. Παρασκευή στις 12:16 μμ (επεξεργασμένο) Σωστά. Χτες βιαζόμουν και το άφησα μισό. Τις pushd/popd τις σκέφτηκα μετά αλλά βλέπω ότι το κατάλαβες και το διόρθωσες. Nice. EDIT: Αυτό με τους άδειους φάκελους που έγραψα πριν το είδες; 23 ώρες πριν, micos000 είπε Επίσης εμένα για κάποιον λόγο δεν μου βάζει του υποφάκελους και συμπιέζει μόνο τα αρχεία. Επεξ/σία Παρασκευή στις 12:17 μμ από micos000
micos000 Δημοσ. Παρασκευή στις 01:50 μμ Δημοσ. Παρασκευή στις 01:50 μμ (επεξεργασμένο) btw, Αν θέλεις βάλε και το παρακάτω στην αρχή για να μην σου βγάζει πολλές άχρηστες πληροφορίες (1η γραμμή), να τρέχει από τον φάκελο όπου βρίσκεται το σκριπτ ακόμα και αν το τρέξεις σαν διαχειριστής (2η γραμμή) γιατί αν το τρέξεις έτσι το bat θα σε πάει στον φάκελο C:\windows\system32 και θα αρχίσει να συμπιέζει εκεί και να σου δείχνει το φάκελο εργασίας και να περιμένει να πατήσεις ένα πλήκτρο αν όλα είναι σωστά (3η-6η γραμμή). @echo off cd "%~dp0" echo Working directory is: %cd% echo. echo Is everything OK? pause Επεξ/σία Παρασκευή στις 03:17 μμ από micos000 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα