Αρχική σελίδα » πως να » Γιατί το dir *. * Λίστα όλων των αρχείων και των φακέλων;

    Γιατί το dir *. * Λίστα όλων των αρχείων και των φακέλων;

    Μερικές φορές μπορεί να καταλήξετε σε απροσδόκητα αποτελέσματα κατά την εκτέλεση εντολών, οπότε η εκμάθηση του "γιατί" πίσω από τα αποτελέσματα μπορεί να είναι πολύ ενδιαφέρουσα. Με αυτό κατά νου, η σημερινή θέση SuperUser Q & A έχει την απάντηση σε μια ερώτηση περίεργου αναγνώστη.

    Η σημερινή συνάντηση ερωτήσεων και απαντήσεων έρχεται σε επαφή με το SuperUser - μια υποδιαίρεση του Stack Exchange, μια κοινότητα που κατευθύνεται από τους ιστότοπους ερωτήσεων & απαντήσεων.

    Το ερώτημα

    Ο αναγνώστης SuperUser Luu Vinh Phuc θέλει να ξέρει γιατί το dir *. * Αναφέρει όλα τα αρχεία και τους φακέλους:

    Όταν τρέχω την εντολή dir *. *, Παράγει απροσδόκητα αποτελέσματα. Ακόμα και τα αρχεία και οι φάκελοι χωρίς καμία κουκκίδα στο όνομα αναφέρονται. Για παράδειγμα:

    Γιατί αυτό? Υπάρχει κανένας τρόπος για να καταχωρίσετε μόνο αρχεία με μια τελεία?

    Γιατί η λίστα dir *. * Εμφανίζει όλα τα αρχεία και τους φακέλους?

    Η απάντηση

    Η συνεισφορά του SuperUser Fleet Command έχει την απάντηση για εμάς:

    Η εντολή DIR προέρχεται από μια εποχή που:

    • Μια περίοδος (.) Δεν επιτρέπεται ως χαρακτήρας σε ονόματα αρχείων ή φακέλων
    • Τα ονόματα αρχείων και φακέλων περιορίστηκαν σε 8 χαρακτήρες για ονόματα και 3 χαρακτήρες για επεκτάσεις

    Επομένως, σύμφωνα με αυτό το πρότυπο, *. * Σημαίνει οποιοδήποτε όνομα και οποιαδήποτε επέκταση. Δεν εννοούσε μια συμβολοσειρά που περιέχει ένα ".", Το οποίο μπορεί να έχει ή να μην έχει χαρακτήρες πριν ή μετά το ".".

    Η πολιτική της Microsoft διατηρεί την συμβατότητα προς τα πίσω, έτσι ώστε να διατηρηθεί η ερμηνεία της *. *. Αλλά στο Windows PowerShell, *. * Σημαίνει μια συμβολοσειρά που περιέχει ένα ".", Το οποίο μπορεί να έχει ή όχι χαρακτήρες πριν ή μετά το ".".


    Έχετε κάτι να προσθέσετε στην εξήγηση; Απενεργοποιήστε τα σχόλια. Θέλετε να διαβάσετε περισσότερες απαντήσεις από άλλους τεχνολογικούς χρήστες Stack Exchange; Δείτε το πλήρες νήμα συζήτησης εδώ.