Τα περιβάλλοντα γραμμής εντολών όπως η Γραμμή εντολών των Windows και το PowerShell χρησιμοποιούν κενά για να διαχωρίσουν εντολές και ορίσματα - αλλά τα ονόματα αρχείων και καταλόγων μπορούν επίσης να περιέχουν κενά. Για να καθορίσετε μια διαδρομή αρχείου που έχει ένα κενό μέσα σε αυτό, πρέπει να "διαφύγετε" από αυτό.
Γιατί οι χώροι διαφυγής;
Το «Escape» ή η απόδραση ενός χαρακτήρα αλλάζει το νόημά του. Για παράδειγμα, η διαφυγή ενός διαστήματος θα κάνει το κέλυφος να το αντιμετωπίσει ως χαρακτήρα διαστήματος αντί για έναν ειδικό χαρακτήρα που διαχωρίζει ορίσματα γραμμής εντολών.
Ας υποθέσουμε ότι έχετε ένα αρχείο κειμένου και θέλετε να δείτε το περιεχόμενο. Μπορείτε να το κάνετε με την εντολή type. Υποθέτοντας ότι το αρχείο κειμένου βρίσκεται στο C:\Test\File.txt , η ακόλουθη εντολή στη γραμμή εντολών θα εμφανίσει τα περιεχόμενά του:
type C:\Test\File.txt
Τώρα, τι γίνεται αν έχετε το ίδιο αρχείο στο C:\Test Folder\Test File.txt ; Εάν δοκιμάσετε να εκτελέσετε την παρακάτω εντολή, δεν θα λειτουργήσει - τα κενά στη διαδρομή του αρχείου παρεμποδίζουν.
type C:\Test Folder\Test File.txt
Η γραμμή εντολών πιστεύει ότι προσπαθείτε να αναζητήσετε ένα αρχείο με το όνομα C:\Test και λέει ότι " δεν μπορεί να βρει τη διαδρομή που καθορίστηκε " (δεν μπορεί να βρει την καθορισμένη διαδρομή).

Η γραμμή εντολών δεν μπορεί να βρει την καθορισμένη διαδρομή
3 τρόποι για να ξεφύγετε από το κενό διάστημα στα Windows
Υπάρχουν 3 διαφορετικοί τρόποι με τους οποίους μπορείτε να διαφύγετε από τις διαδρομές αρχείων στα Windows:
- Περικλείοντας τη διαδρομή (ή μέρη της) μέσα σε διπλά εισαγωγικά ("").
- Προσθέτοντας έναν χαρακτήρα caret (^) πριν από κάθε διάστημα. (Αυτό λειτουργεί μόνο σε Command Prompt/CMD και δεν φαίνεται να λειτουργεί με κάθε εντολή).
- Προσθέτοντας έναν χαρακτήρα τονισμού (`) πριν από κάθε διάστημα. (Αυτό λειτουργεί μόνο στο PowerShell, αλλά λειτουργεί πάντα).
Αυτό το άρθρο θα σας καθοδηγήσει πώς να χρησιμοποιήσετε κάθε μέθοδο.
Περικλείστε τη διαδρομή σε εισαγωγικά
Ο τυπικός τρόπος για να διασφαλίσετε ότι τα Windows χειρίζονται σωστά μια διαδρομή αρχείου είναι να την περικλείσετε σε χαρακτήρες διπλών εισαγωγικών (""). Για παράδειγμα, με την παραπάνω εντολή δείγματος, η εντολή θα εκτελείται ως εξής:
type "C:\Test Folder\Test File.txt"
Μπορείτε πραγματικά να βάλετε τμήματα της διαδρομής σε εισαγωγικά, αν θέλετε. Για παράδειγμα, ας υποθέσουμε ότι έχετε ένα αρχείο με το όνομα File.txt σε αυτόν τον φάκελο. Μπορείτε να εκτελέσετε τα εξής:
type C:\"Test Folder"\File.txt
Ωστόσο, αυτό δεν είναι απαραίτητο. Στις περισσότερες περιπτώσεις, μπορείτε απλά να χρησιμοποιήσετε εισαγωγικά σε ολόκληρη τη διαδρομή.
Αυτή η λύση λειτουργεί τόσο στο παραδοσιακό περιβάλλον γραμμής εντολών (CMD) όσο και στο Windows PowerShell.

Περικλείστε τη διαδρομή σε εισαγωγικά
Χρησιμοποιήστε τον χαρακτήρα caret (^) πριν από ένα κενό
Στη γραμμή εντολών, ο χαρακτήρας caret (^) θα σας επιτρέψει θεωρητικά να διαφύγετε από κενά. Απλώς προσθέστε το πριν από κάθε διάστημα στο όνομα του αρχείου. (Θα βρείτε αυτόν τον χαρακτήρα στην αριθμητική σειρά στο πληκτρολόγιό σας. Για να εισαγάγετε τον χαρακτήρα καρέ, πατήστε Shift + 6 ).
Το πρόβλημα είναι ότι αν και αυτό είναι αποτελεσματικό, δεν λειτουργεί πάντα. Ο χειρισμός αυτού του χαρακτήρα από τη γραμμή εντολών είναι περίεργος.
Για παράδειγμα, με την εντολή δείγματος, εάν εκτελέσετε τα ακόλουθα, η εντολή δεν θα λειτουργήσει:
type C:\Test^ Folder\Test^ File.txt

Η παραπάνω εντολή δεν θα λειτουργήσει
Από την άλλη πλευρά, εάν προσπαθήσετε να ανοίξετε το αρχείο σας απευθείας εισάγοντας τη διαδρομή του στη Γραμμή εντολών, μπορεί να διαπιστώσετε ότι ο χαρακτήρας caret θα διαφύγει σωστά από το διάστημα:
C:\Test^ Folder\Test^ File.txt

Ο χαρακτήρας caret διαφεύγει σωστά από το κενό διάστημα
Πότε λοιπόν λειτουργεί; Με βάση την έρευνα, φαίνεται να λειτουργεί μόνο με ορισμένες εφαρμογές. Τα πράγματα μπορεί να αλλάξουν ανάλογα με την εντολή που χρησιμοποιείτε. Ο χειρισμός αυτού του χαρακτήρα από τη γραμμή εντολών είναι περίεργος. Δοκιμάστε με όποια εντολή χρησιμοποιείτε, μπορεί να λειτουργήσει ή όχι.
Για λόγους συνέπειας, το άρθρο συνιστά τη χρήση διπλών εισαγωγικών στη γραμμή εντολών ή τη μετάβαση στο PowerShell και τη χρήση της παρακάτω μεθόδου.
Χρήση χαρακτήρων έμφασης (`)
Το PowerShell χρησιμοποιεί τον χαρακτήρα τονισμού (`) ως χαρακτήρα διαφυγής. Απλώς προσθέστε το πριν από κάθε διάστημα στο όνομα του αρχείου. (Θα βρείτε αυτόν τον χαρακτήρα πάνω από το πλήκτρο Tab και κάτω από το πλήκτρο Esc στο πληκτρολόγιό σας).
type C:\Test` Folder\Test` File.txt
Κάθε χαρακτήρας με τόνο απαιτεί το PowerShell για να ξεφύγει από τον χαρακτήρα που ακολουθεί.
Σημειώστε ότι αυτό λειτουργεί μόνο σε περιβάλλοντα PowerShell. Θα πρέπει να χρησιμοποιήσετε τον χαρακτήρα caret στη γραμμή εντολών.

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