Zašto dir *. * Popis svih datoteka i mapa?
Ponekad možete završiti s neočekivanim rezultatima prilikom pokretanja naredbi, tako da učenje "zašto" iza rezultata može biti vrlo zanimljivo. Imajući to na umu, današnji postovi za pitanja i odgovore SuperUser imaju odgovor na znatiželjno pitanje čitatelja.
Današnja sesija pitanja i odgovora dolazi nam ljubaznošću SuperUser-a, podjele Stack Exchangea, grupiranja web-lokacija za pitanja i odgovore u zajednici.
Pitanje
Čitač SuperUser Luu Vinh Phuc želi znati zašto dir *. * Navodi sve datoteke i mape:
Kada pokrenem naredbu dir *. *, Ona daje neočekivane rezultate. Navedene su čak i datoteke i mape bez bilo koje točke u imenu. Na primjer:
Zašto je to? Postoji li način da se datoteke popisuju samo s točkom?
Zašto dir *. * Popis svih datoteka i mapa?
Odgovor
Pomoćnik SuperUser-a Fleet Command ima odgovor za nas:
Naredba DIR dolazi iz vremena kada:
- Razdoblje (.) Nije bilo dopušteno kao znak u nazivu datoteke ili mape
- Nazivi datoteka i mapa bili su ograničeni na 8 znakova za imena i 3 znaka za proširenja
Prema tome, prema tom standardu, *. * Značilo je bez obzira na ime i bilo koje proširenje. To nije značilo niz koji sadrži ".", Koji može ili ne mora imati znakove prije ili poslije ".".
Microsoftova politika čuva kompatibilnost unatrag, tako da je zadržano tumačenje *. *. Ali u Windows PowerShell, *. * Znači niz koji sadrži “.”, Koji može ili ne mora imati znakove prije ili poslije “.”.
Imate li što dodati objašnjenju? Zvuk isključen u komentarima. Želite li pročitati više odgovora od drugih tehničkih korisnika Stack Exchangea? Pogledajte cjelokupnu temu za raspravu ovdje.