Przypadkowo odkryłem, że jeśli to zrobię:
dir C:\
Dostaję listę plików, które są bezpośrednimi dziećmi C: w katalogu głównym.
Jeśli jednak to zrobię:
dir C:
Otrzymuję ogromną listę plików, których nawet nie jestem pewien, gdzie one są (biblioteki DLL, EXE, CPL itp.).
Czy wiesz, dlaczego tak się dzieje i skąd pochodzi ta lista?
dir c:
zwraca listę plików w bieżącym kataloguOdpowiedzi:
Określenie
DIR location
pokaże zawartość lokalizacji.Określanie
C:
wielu poleceń, w tymDIR
polecenia, odnosi się do dysku C i odnosi się do bieżącego katalogu. Aby zobaczyć swój bieżący katalog, wpisz:cd
Polecenie jest zazwyczaj używany do zmiany który katalog jest aktualny. Jednak w MS-DOS (i podobnych systemach operacyjnych, w tym w nowoczesnym systemie Microsoft Windows, ale bez Unixa),cd
samodzielne uruchomienie wyświetli bieżący katalog.cd
Najprawdopodobniej jeśli nie korzystałeś z tej komendy, to twój bieżący katalog jest prawdopodobnie katalogiem, w którym system operacyjny został zainstalowany. (Przynajmniej takie zachowanie występuje w systemach Microsoft Windows).Możesz to zrobić:
To pokaże ci zawartość
C:\Program Files
Podobnie możesz zrobić coś takiego:
copy C:*.*
i cała zawartość z bieżącego katalogu zostanie skopiowana.Po określeniu
C:\
ukośnik odwrotny wskazuje katalog „root”, znany również jako katalog „najwyższego poziomu”. To może być, lub nie, to samo co twój bieżący katalog.Jeśli tylko określisz
DIR \
, bieżący dysk zostanie przyjęty. (Możesz wpisać coś w styluC:
lubD:
, jako całe polecenie (w wierszu), aby zmienić dysk uważany za „bieżący dysk”.) Jeśli tylko określiszDIR
, bieżący dysk i bieżący katalog będą przybrany.źródło
TL; DR -
dir C:
wyświetli bieżący katalog naC:
czymkolwiek, co się dzieje, w przeciwieństwie do tego,dir C:\
który zawsze będzie zawierał\
katalog głównyC:
.Długa historia ... W linii poleceń,
cmd
zapamiętuje aktualny katalog dla każdego dysku to dostęp w czasie sesji.Bieżący katalog na dysku
X:
innego niż obecnie można ustawićcd X:\etc
(bez/d
przełącznika, który będzie również zmienić bieżący dysk doX:
) i jest zwracany przezcd X:
(bez\
) - zarówno zauważono wcd /?
pomocy:Zobacz Dlaczego każdy dysk ma własny katalog bieżący? w tle, w tym ten cytat.
strange environment variables
, O których mowa w połączonej postu Co oznaczają te dziwne = c: zmienne środowiskowe? można dostrzecset ""
w CMD polecenia, na przykład:źródło
c:\Users\<you>
),c:\windows\system32
lubc:\windows\temp
. Nigdy nie ponoszą żadnej tego jednak: zawsze stanie lub przejdź do katalogu, który chcesz patrzeć zamiast opierania się na danym domyślnie są konsekwentnie stosowane.Powodem są coraz dwóch różnych katalogów jest proste. To
\
jest różnica.dir C:\
prosi o katalogu listą zC
napędem na ITS\
.\
jest folderem głównym.dir C:
prosi o katalogu Notowania gdzie są (lub ostatnio, jeśli zmienił dyski)Jeśli jesteś na
C
dysku i po prostu wpiszdir
i naciśnijenter
, otrzymasz tę samą zawartośćdir C:
. Jeśli jesteś na innym dysku i wpiszesz,C:
aby wrócić do niegoC
, to skończysz w katalogu, który widziałeś podczas pisaniadir C:
.źródło
Ponieważ nie jest to StackOverflow, w najlepszym razie powinien to być tylko komentarz, ale nie pasuje :.
.NET Framework (być może poprzez Win32) odzwierciedla bieżący katalog dla bieżącego dysku:
źródło
Używasz dwóch poleceń razem.
c:
to samo polecenie zmiany na POPRZEDNĄ LOKALIZACJĘ na dysku C:. Więc utrzyma lokalizację przed zmianą dysków za pomocąd:
lube:
.dir
to polecenie używane do wyświetlania zawartości katalogu.Zasadniczo wyświetlasz zawartość poprzedniego folderu na dysku C: nawet jeśli znajdujesz się na innym dysku.
źródło