Πώς μπορείτε να φερμουάρ ή να αποσυμπιέσετε από το σενάριο χρησιμοποιώντας ΜΟΝΟ τα Windows' ενσωματωμένες δυνατότητες;

Στα Windows μπορείτε να φερμουάρσετε ορισμένα αρχεία με

δεξί κλικ → Αποστολή σεΣυμπυκνωμένος (zip) φάκελος

Και να αποσυμπιέσετε κάνοντας διπλό κλικ στο αρχείο .zip και να αποσυμπιέσετε τα αρχεία.

Υπάρχει τρόπος να εφαρμόσετε αυτές τις ικανότητες από ένα σενάριο (.bat αρχείο) χωρίς να χρειάζεται να εγκαταστήσετε οποιοδήποτε λογισμικό τρίτου μέρους;

Λύση

Το 2013, αυτό δεν ήταν δυνατό. Η Microsoft δεν παρείχε κανένα εκτελέσιμο αρχείο γι' αυτό.

Δείτε αυτόν τον σύνδεσμο για κάποιον τρόπο VBS για να το κάνετε αυτό. https://superuser.com/questions/201371/create-zip-folder-from-the-command-line-windows

Από τα Windows 8 και μετά, το .NET Framework 4.5 είναι εγκατεστημένο από προεπιλογή, με το System.IO.Compression.ZipArchive και το PowerShell διαθέσιμο, μπορεί κανείς να γράψει σενάρια για να το πετύχει αυτό, βλ. https://stackoverflow.com/a/26843122/71312

Σχόλια (8)

Έψαχνα να απαντήσω σε αυτή ακριβώς την ερώτηση και από την έρευνά μου, η απάντηση του DiryBoy φαίνεται να είναι ακριβής.

Βρήκα ότι το πρόγραμμα compact.exe συμπιέζει αρχεία, αλλά όχι για να δημιουργήσει ένα εξαιρετικά συμπιεσμένο αρχείο (ή σύνολο αρχείων). Είναι παρόμοιο με την επιλογή που έχετε όταν κάνετε δεξί κλικ σε ένα γράμμα δίσκου ή μια κατάτμηση στα Windows. Σας δίνεται η επιλογή να κάνετε καθαρισμό (αφαίρεση προσωρινών αρχείων κ.λπ.) καθώς και συμπίεση αρχείων. Τα συμπιεσμένα αρχεία εξακολουθούν να είναι προσβάσιμα, αλλά απλώς συμπιέζονται για να δημιουργηθεί χώρος σε μια μονάδα δίσκου που δεν έχει πολύ χώρο.

Βρήκα επίσης το compress.exe το οποίο έτυχε να έχω στον υπολογιστή μου. Δεν είναι εγγενώς στα περισσότερα μηχανήματα των Windows και αποτελεί μέρος του κιτ πόρων του 2003. Φτιάχνει ένα είδος αρχείου zipped, αλλά στην πραγματικότητα μοιάζει περισσότερο με τα αρχεία από ένα δίσκο εγκατάστασης των windows (έχει την υπογράμμιση ως τελευταίο χαρακτήρα της επέκτασης ή του ονόματος του αρχείου). Και η εντολή extract.exe εξάγει αυτά τα αρχεία.

Ωστόσο, το σύνθημα είναι ότι, αν μπορεί να γίνει εγγενώς μέσω του GUI, τότε πιθανότατα υπάρχει τρόπος να γίνει μέσω batch, .vbs ή κάποιου άλλου τύπου δέσμης ενεργειών στη γραμμή εντολών. Δεδομένου ότι τα windows είχαν την επιλογή 'send to' για τη δημιουργία ενός αρχείου zip, ήξερα ότι έπρεπε να υπάρχει τρόπος να το κάνω μέσω της γραμμής εντολών και βρήκα μερικές επιλογές.

Εδώ είναι ένας πολύ καλός σύνδεσμος που δείχνει πώς να φερμουάρ ένα αρχείο χρησιμοποιώντας τις εγγενείς εντολές των windows.

https://superuser.com/questions/110991/can-you-zip-a-file-from-the-command-prompt-using-only-windows-built-in-capabili

Το δοκίμασα με έναν κατάλογο που περιείχε πολλαπλά εμφωλευμένα αρχεία και φακέλους και λειτούργησε τέλεια. Απλά ακολουθήστε τη μορφή της γραμμής εντολών.

Υπάρχει επίσης ένας τρόπος να αποσυμπιέσετε τα αρχεία μέσω της γραμμής εντολών, τον οποίο βρήκα επίσης. Ένας τρόπος, απλά φέρνει ανοιχτό ένα παράθυρο explorer που δείχνει ποιο είναι το περιεχόμενο του αρχείου που έχει συμπιεστεί. Μερικά από αυτά χρησιμοποιούν επίσης Java η οποία δεν είναι απαραίτητα εγγενής στα windows αλλά είναι τόσο συνηθισμένη που σχεδόν φαίνεται έτσι.

https://superuser.com/questions/149489/does-windows-7-have-unzip-at-the-command-line-installed-by-default

https://stackoverflow.com/questions/1021557/how-to-unzip-a-file-using-the-command-line

Σχόλια (1)

Μπορείτε να αποσυμπιέσετε ένα συμπιεσμένο ή εγγενώς συμπιεσμένο αρχείο των Windows χρησιμοποιώντας την εντολή Expand, π.χ.

expand MyFile.zip myFile
Σχόλια (5)