30Jun

Hvorfor returnerer slike forskjellige resultater fra "dir C: \"?

Som du lærer om å bruke kommandolinjen og hva de forskjellige kommandoene kan gjøre, kan du kanskje lure på hvorfor du får slike forskjellige resultater for det som ser ut til å være nesten identiske kommandoer. Med det for øye, hjelper dagens SuperUser Q & A-innlegg en forvirret leser å forstå forskjellene.

Dagens Spørsmål &Svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppering av Q & A-nettsteder.

Spørsmålet

SuperUser leser Nuno Peralta vil vite hvorfor han får slike forskjellige resultater fra nesten like kommandoer:

Jeg har ved et uhell oppdaget at hvis jeg bruker:

  • dir C: \

får jeg en liste over filer som er direkte barn avC: kjøre( i roten).Men hvis jeg bruker:

  • dir C:

får jeg en stor liste over filer( dll, exe, cpl, etc.) hvis plassering jeg ikke engang er sikker på.

Vet du hvorfor dette skjer og hvor denne listen kommer fra?

Hvorfor får han så forskjellige resultater fra nesten like kommandoer?

Svaret

SuperUser-bidragsyter TOOGAM har svaret for oss:

Spesifisering av DIR-posisjon viser deg innholdet på stedet. Angi C: på mange kommandoer, inkludert DIR -kommandoen, refererer til C-stasjonen, og refererer til gjeldende katalog. For å se din nåværende katalog, skriv dette:

  • c:
  • cd

cd -kommandoen brukes vanligvis til å endre hvilken katalog som anses som den nåværende. I MS-DOS( og lignende operativsystemer, inkludert moderne Microsoft Windows, men ikke inkludert Unix), vil kjøring av cd av seg selv vise deg gjeldende katalog.

Sannsynligvis, hvis du ikke har brukt cd -kommandoen, er din nåværende katalog trolig den katalogen som operativsystemet ble installert for( i det minste det er en vanlig oppførsel for Microsoft Windows-systemer).Du kan gjøre dette:

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

som viser deg innholdet i C: \ Program Files .På samme måte kan du gjøre noe som kopi C: *. * og alt innhold fra gjeldende katalog vil bli kopiert.

Når du angir C: \ , angir backslash "root" -katalogen, også kjent som "toppnivå" -katalogen. Det kan, eller kanskje ikke være det samme som din nåværende katalog.

Hvis du bare angir DIR \ , vil den gjeldende stasjonen antas å være den du vil ha. Du kan skrive noe som C: eller D: som en hel kommando på en linje for seg selv for å endre hvilken stasjon som regnes som den nåværende. Hvis du bare angir DIR , vil den gjeldende stasjonen og gjeldende katalog antas å være den du ønsket.

Har du noe å legge til forklaringen? Lyder av i kommentarene. Vil du lese flere svar fra andre tech-savvy Stack Exchange-brukere? Sjekk ut hele diskusjonstråden her.