30Jun

De ce "dir C:" returnează astfel de rezultate diferite din "dir C: \"?

Pe măsură ce aflați despre utilizarea liniei de comandă și despre ce pot face diferitele comenzi, vă puteți întreba de ce obțineți rezultate atât de diferite pentru ceea ce pare a fi comenzi aproape identice.În acest sens, postul SuperUser Q & A de astăzi ajută un cititor confuz să înțeleagă diferențele.

Întrebarea de astăzi &Sesiunea de răspuns vine de la amabilitatea SuperUser - o subdiviziune a Stack Exchange, o grupare bazată pe comunitate a site-urilor web Q & A.

Întrebarea

Reader SuperUser Nuno Peralta vrea să știe de ce obține rezultate atât de diferite de la comenzi aproape identice:

Am descoperit accidental că dacă folosesc:

  • dir C: \

Am o listă de fișiere care sunt direct copii aiC: unitate( în rădăcină).Cu toate acestea, dacă folosesc:

  • dir C:

Am o listă uriașă de fișiere( dll, exe, cpl etc.) a căror locație nu sunt nici măcar sigură.

Știți de ce se întâmplă acest lucru și de unde provine această listă?

De ce obține rezultate atât de diferite de la comenzi aproape identice?

Răspunsul

Contribuitorul SuperUser TOOGAM are răspunsul pentru noi:

Specificând DIR locația vă va arăta conținutul locației. Specificarea C: pe multe comenzi, inclusiv comanda DIR , se referă la unitatea C și se referă la directorul curent. Pentru a vedea directorul curent, tastați:

  • c:
  • cd

Comanda cd este de obicei folosită pentru a schimba directorul care este considerat cel curent. Cu toate acestea, în MS-DOS( și sisteme de operare similare, inclusiv Microsoft Windows moderne, dar fără a include Unix), rularea cd de la sine vă va arăta directorul curent.

Probabil, dacă nu ați folosit comanda cd , atunci directorul dvs. curent este probabil directorul la care a fost instalat sistemul dvs. de operare( cel puțin acesta este un comportament obișnuit pentru sistemele Microsoft Windows).Puteți face acest lucru:

  • cd "C: \ Program Files"
  • cd
  • dir c:

Aceasta vă va arăta conținutul C: \ Program Files .În mod similar, puteți face ceva de genul copia C: *. * și tot conținutul din directorul curent va fi copiat.

Când specificați C: \ , atunci backslash indică directorul "root", de asemenea cunoscut ca directorul "de nivel superior".Acest lucru ar putea sau nu ar putea fi același lucru cu directorul dvs. curent.

Dacă specificați doar DIR \ , atunci unitatea curentă va fi presupusă a fi cea dorită.Aveți posibilitatea să tastați ceva de genul C: sau D: ca o comandă întreagă pe o linie de la sine pentru a schimba care unitate este considerată cea curentă.Dacă specificați doar DIR , atunci unitatea curentă și directorul curent vor fi considerate a fi cea dorită.

Aveți ceva de adăugat la explicație? Sunați în comentarii. Doriți să citiți mai multe răspunsuri de la alți utilizatori de tehnologie Stack Exchange? Check out discuția completă aici.