Τρόπος διαφυγής διαστημάτων σε διαδρομές αρχείων στη γραμμή εντολών των Windows

Περιβάλλοντα γραμμής εντολών όπως η Γραμμή εντολών των Windows και το PowerShell χρησιμοποιούν κενά για να διαχωρίσουν εντολές και ορίσματα—αλλά τα ονόματα αρχείων και φακέλων μπορούν επίσης να περιέχουν κενά. Για να καθορίσετε μια διαδρομή αρχείου με ένα κενό μέσα σε αυτό, θα πρέπει να “διαφύγετε” από αυτό.

Γραμμή εντολών 101: Γιατί πρέπει να ξεφύγετε από χώρους

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

Για παράδειγμα, ας υποθέσουμε ότι έχετε ένα αρχείο κειμένου που θέλετε να δείτε τα περιεχόμενα του. Μπορείτε να το κάνετε αυτό με την εντολή type. Υποθέτοντας ότι το αρχείο κειμένου βρίσκεται στο C:TestFile.txt, η ακόλουθη εντολή στη γραμμή εντολών θα εμφανίσει τα περιεχόμενά του:

type C:TestFile.txt

Εξαιρετική. Τώρα, τι γίνεται αν έχετε το ίδιο αρχείο στο C:Test FolderTest File.txt; Εάν δοκιμάσετε να εκτελέσετε την παρακάτω εντολή, δεν θα λειτουργήσει—αυτά τα κενά στη διαδρομή του αρχείου παρεμποδίζουν.

type C:Test FolderTest File.txt

Η γραμμή εντολών πιστεύει ότι προσπαθείτε να αναζητήσετε ένα αρχείο που ονομάζεται C:Test και λέει ότι “δεν μπορεί να βρει τη διαδρομή που καθορίστηκε”.

  12 τρόποι για να ανοίξετε την Εξερεύνηση αρχείων στα Windows 10

Τρεις τρόποι διαφυγής από χώρους στα Windows

Υπάρχουν τρεις διαφορετικοί τρόποι με τους οποίους μπορείτε να διαφύγετε από τις διαδρομές αρχείων στα Windows:

Περικλείοντας τη διαδρομή (ή μέρη της) σε διπλά εισαγωγικά ( ” ).
Προσθέτοντας έναν χαρακτήρα caret ( ^ ) πριν από κάθε διάστημα. (Αυτό λειτουργεί μόνο στη Γραμμή εντολών/CMD και δεν φαίνεται να λειτουργεί με κάθε εντολή.)
Προσθέτοντας έναν χαρακτήρα με έμφαση ( ` ) πριν από κάθε διάστημα. (Αυτό λειτουργεί μόνο στο PowerShell, αλλά λειτουργεί πάντα.)

Θα σας δείξουμε πώς να χρησιμοποιείτε κάθε μέθοδο.

Περικλείστε το μονοπάτι σε εισαγωγικά ( ” )

Ο τυπικός τρόπος για να διασφαλίσετε ότι τα Windows αντιμετωπίζουν σωστά μια διαδρομή αρχείου είναι να την περικλείσετε σε χαρακτήρες διπλού εισαγωγικού ( ” ). Για παράδειγμα, με την εντολή δείγματος παραπάνω, θα εκτελέσουμε απλώς τα εξής:

type "C:Test FolderTest File.txt"

Μπορείτε πραγματικά να περικλείσετε τμήματα της διαδρομής σε εισαγωγικά εάν προτιμάτε. Για παράδειγμα, ας υποθέσουμε ότι είχατε ένα αρχείο με το όνομα File.txt σε αυτόν τον φάκελο. Θα μπορούσατε να εκτελέσετε τα εξής:

type C:"Test Folder"File.txt

Ωστόσο, αυτό δεν είναι απαραίτητο – στις περισσότερες περιπτώσεις, μπορείτε απλώς να χρησιμοποιήσετε εισαγωγικά σε ολόκληρη τη διαδρομή.

  Hibernate vs Sleep στα Windows 10: Ποια είναι η διαφορά;

Αυτή η λύση λειτουργεί τόσο στο παραδοσιακό περιβάλλον Γραμμής εντολών (CMD) όσο και στο Windows PowerShell.

Μερικές φορές: Χρησιμοποιήστε τον χαρακτήρα Caret για διαφυγή διαστημάτων ( ^ )

Στη γραμμή εντολών, ο χαρακτήρας caret ( ^ ) θα σας επιτρέψει να διαφύγετε από κενά — θεωρητικά. Απλώς προσθέστε το πριν από κάθε διάστημα στο όνομα του αρχείου. (Θα βρείτε αυτόν τον χαρακτήρα στην αριθμητική σειρά στο πληκτρολόγιό σας. Για να πληκτρολογήσετε τον χαρακτήρα καρέ, πατήστε Shift+6.)

Εδώ είναι το πρόβλημα: Αν και αυτό θα έπρεπε να λειτουργεί, και συμβαίνει μερικές φορές, δεν λειτουργεί συνεχώς. Ο χειρισμός αυτού του χαρακτήρα από τη Γραμμή εντολών είναι περίεργος.

Για παράδειγμα, με την εντολή δείγματός μας, θα εκτελούσατε τα ακόλουθα και δεν θα λειτουργούσε:

type C:Test^ FolderTest^ File.txt

Από την άλλη πλευρά, εάν προσπαθήσουμε να ανοίξουμε το αρχείο μας απευθείας πληκτρολογώντας τη διαδρομή του στη Γραμμή εντολών, μπορούμε να δούμε ότι ο χαρακτήρας caret διαφεύγει σωστά από τα κενά:

C:Test^ FolderTest^ File.txt

Πότε λοιπόν λειτουργεί; Λοιπόν, με βάση την έρευνά μας, φαίνεται να λειτουργεί με ορισμένες εφαρμογές και όχι με άλλες. Τα χιλιόμετρα σας μπορεί να διαφέρουν ανάλογα με την εντολή που χρησιμοποιείτε. Ο χειρισμός αυτού του χαρακτήρα από τη Γραμμή εντολών είναι περίεργος. Δοκιμάστε το με όποια εντολή χρησιμοποιείτε, αν σας ενδιαφέρει — μπορεί να λειτουργήσει ή όχι.

  20 Συμβουλές και κόλπα Apple Watch που πρέπει να γνωρίζετε

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

PowerShell: Χρησιμοποιήστε τον χαρακτήρα Grave Accent ( ` )

Το PowerShell χρησιμοποιεί τον χαρακτήρα σοβαρής έμφασης ( ` ) ως χαρακτήρα διαφυγής. Απλώς προσθέστε το πριν από κάθε διάστημα στο όνομα του αρχείου. (Θα βρείτε αυτόν τον χαρακτήρα πάνω από το πλήκτρο Tab και κάτω από το πλήκτρο Esc στο πληκτρολόγιό σας.)

type C:Test` FolderTest` File.txt

Κάθε χαρακτήρας με έντονη έμφαση λέει στο PowerShell να ξεφύγει από τον ακόλουθο χαρακτήρα.

Σημειώστε ότι αυτό λειτουργεί μόνο στο περιβάλλον PowerShell. Θα πρέπει να χρησιμοποιήσετε τον χαρακτήρα caret στη γραμμή εντολών.

Εάν είστε εξοικειωμένοι με λειτουργικά συστήματα παρόμοια με το UNIX, όπως το Linux και το macOS, ίσως έχετε συνηθίσει να χρησιμοποιείτε τον χαρακτήρα ανάστροφης κάθετο ( ) πριν από ένα κενό για να τον διαφύγετε. Τα Windows το χρησιμοποιούν για κανονικές διαδρομές αρχείων, επομένως δεν λειτουργεί—-οι χαρακτήρες caret ( ^ ) και σοβαρός τόνος ( ` ) είναι η έκδοση της αντίστροφης κάθετου των Windows, ανάλογα με το κέλυφος της γραμμής εντολών που χρησιμοποιείτε.