2010-04-27 15:35:09 +0000 2010-04-27 15:35:09 +0000
235
235

Używając komendy cd w linii poleceń Windows, nie można przejść do D:\

To może być głupie pytanie, i myślę, że szukałem gdzie indziej, aby znaleźć odpowiedź… Może to być kwestia ścieżki, ale kiedy otwieram linię poleceń i wpisuję z C:\>:

cd D:\

nie mogę dostać się do dysku D. Nawet jeśli wpiszemy:

cd D:\<folder name>

command.exe automatycznie wypełni linię z kluczem zakładkowym, aby wiedział gdzie jestem. Po prostu nie drukuje, aby wyświetlić wynik lub faktycznie dostać mnie tam. Ten problem istnieje również dla dysków sieciowych.

Teraz, jeśli użyję komendy chdir (cd) w następujący sposób:

chdir D: lub cd d:

Otrzymuję wydruk z D: To może być głupie pytanie, i myślę, że szukałem gdzie indziej, aby znaleźć odpowiedź... Może to być kwestia ścieżki, ale kiedy otwieram linię poleceń i wpisuję zC:>`:

cd D:\

nie mogę dostać się do dysku D. Nawet jeśli wpiszemy:

cd D:\<folder name>

command.exe automatycznie wypełni linię z kluczem zakładkowym, aby wiedział gdzie jestem. Po prostu nie drukuje, aby wyświetlić wynik lub faktycznie dostać mnie tam. Ten problem istnieje również dla dysków sieciowych.

Teraz, jeśli użyję komendy chdir (cd) w następujący sposób:

chdir D: lub cd d:

Otrzymuję wydruk z poniżej komendy, ale nadal mówi, że jestem w C: To może być głupie pytanie, i myślę, że szukałem gdzie indziej, aby znaleźć odpowiedź... Może to być kwestia ścieżki, ale kiedy otwieram linię poleceń i wpisuję zC:>`:

cd D:\

nie mogę dostać się do dysku D. Nawet jeśli wpiszemy:

cd D:\<folder name>

command.exe automatycznie wypełni linię z kluczem zakładkowym, aby wiedział gdzie jestem. Po prostu nie drukuje, aby wyświetlić wynik lub faktycznie dostać mnie tam. Ten problem istnieje również dla dysków sieciowych.

Teraz, jeśli użyję komendy chdir (cd) w następujący sposób:

chdir D: lub cd d:

Otrzymuję wydruk z D: To może być głupie pytanie, i myślę, że szukałem gdzie indziej, aby znaleźć odpowiedź... Może to być kwestia ścieżki, ale kiedy otwieram linię poleceń i wpisuję zC:>`:

cd D:\

nie mogę dostać się do dysku D. Nawet jeśli wpiszemy:

cd D:\<folder name>

command.exe automatycznie wypełni linię z kluczem zakładkowym, aby wiedział gdzie jestem. Po prostu nie drukuje, aby wyświetlić wynik lub faktycznie dostać mnie tam. Ten problem istnieje również dla dysków sieciowych.

Teraz, jeśli użyję komendy chdir (cd) w następujący sposób:

chdir D: lub cd d:

Otrzymuję wydruk z poniżej komendy, ale nadal mówi, że jestem w .

Czuję, że brakuje mi czegoś prostego.

Odpowiedzi (9)

334
334
334
2010-04-27 15:38:06 +0000

Wracając do czasów DOS-u, dla każdego dysku jest osobny “aktualny katalog”. cd D:\foldername zmienia D: aktualny katalog na podaną nazwę foldera, ale nie zmienia faktu, że nadal pracujesz na dysku C:.

To, czego chcesz, jest proste:

D:

Tutaj możesz zobaczyć, jak działa “osobny aktualny katalog dla każdego dysku”:

C:\Users\coneslayer>e:

E:\>c:

C:\Users\coneslayer>cd e:\software

C:\Users\coneslayer>e:

e:\Software>
78
78
78
2012-01-19 14:17:48 +0000

It did work, as the command is designed to work.

You simply don’t know how it’s actually supposed to work.

You’re not using a Unix or Linux shell program. Polecenie cd w interpretatorze poleceń Microsoftu nie zachowuje się tak, jak polecenia cd w takich powłokach. Zachowuje się nieco inaczej. W szczególności, it nie zawsze zmienia katalog. W powłokach uniksowych i linuksowych, cd nigdy nie ustawia tylko katalogu roboczego. W interpreterze poleceń Microsoftu, cd czasami zapytuje o niego. Nie ma oddzielnego polecenia pwd, więc cd wykonuje dwa zadania.

Jeśli nie podasz mu żadnych argumentów, lub argumentu, który jest tylko literą dysku i dwukropkiem bez ścieżki, to it zgłasza bieżący katalog zamiast go zmieniać. Jeśli nie podasz żadnych argumentów, to _it zgłosi bieżący katalog bieżącego napędu procesu interpretera poleceń. Jeśli jako argument podajemy tylko literę dysku i dwukropek, to _it raportuje bieżący katalog procesu interpretowania poleceń tego napędu. Każdy dysk ma swój własny, aktualny katalog w interpretatorze poleceń. (Jest to fikcja utrzymywana przez biblioteki uruchomieniowe dla implementacji firmy Microsoft i kilku innych producentów różnych języków programowania. Sam Win32 nie działa w ten sposób.)

Więc kiedy podałeś jako argument d:, zgłosiłeś do Ciebie aktualny katalog procesu tłumaczenia poleceń na dysku D, który okazał się być `D:## It did work, as the command is designed to work.

You simply don’t know how it’s actually supposed to work.

You’re not using a Unix or Linux shell program. Polecenie cd w interpretatorze poleceń Microsoftu nie zachowuje się tak, jak polecenia cd w takich powłokach. Zachowuje się nieco inaczej. W szczególności, it nie zawsze zmienia katalog. W powłokach uniksowych i linuksowych, cd nigdy nie ustawia tylko katalogu roboczego. W interpreterze poleceń Microsoftu, cd czasami zapytuje o niego. Nie ma oddzielnego polecenia pwd, więc cd wykonuje dwa zadania.

Jeśli nie podasz mu żadnych argumentów, lub argumentu, który jest tylko literą dysku i dwukropkiem bez ścieżki, to it zgłasza bieżący katalog zamiast go zmieniać. Jeśli nie podasz żadnych argumentów, to _it zgłosi bieżący katalog bieżącego napędu procesu interpretera poleceń. Jeśli jako argument podajemy tylko literę dysku i dwukropek, to _it raportuje bieżący katalog procesu interpretowania poleceń tego napędu. Każdy dysk ma swój własny, aktualny katalog w interpretatorze poleceń. (Jest to fikcja utrzymywana przez biblioteki uruchomieniowe dla implementacji firmy Microsoft i kilku innych producentów różnych języków programowania. Sam Win32 nie działa w ten sposób.)

Więc kiedy podałeś jako argument d:, zgłosiłeś do Ciebie aktualny katalog procesu tłumaczenia poleceń na dysku D, który okazał się być . Jeśli nie podałbyś mu żadnych argumentów, zgłosiłby do Ciebie `C:## It did work, as the command is designed to work.

You simply don’t know how it’s actually supposed to work.

You’re not using a Unix or Linux shell program. Polecenie cd w interpretatorze poleceń Microsoftu nie zachowuje się tak, jak polecenia cd w takich powłokach. Zachowuje się nieco inaczej. W szczególności, it nie zawsze zmienia katalog. W powłokach uniksowych i linuksowych, cd nigdy nie ustawia tylko katalogu roboczego. W interpreterze poleceń Microsoftu, cd czasami zapytuje o niego. Nie ma oddzielnego polecenia pwd, więc cd wykonuje dwa zadania.

Jeśli nie podasz mu żadnych argumentów, lub argumentu, który jest tylko literą dysku i dwukropkiem bez ścieżki, to it zgłasza bieżący katalog zamiast go zmieniać. Jeśli nie podasz żadnych argumentów, to _it zgłosi bieżący katalog bieżącego napędu procesu interpretera poleceń. Jeśli jako argument podajemy tylko literę dysku i dwukropek, to _it raportuje bieżący katalog procesu interpretowania poleceń tego napędu. Każdy dysk ma swój własny, aktualny katalog w interpretatorze poleceń. (Jest to fikcja utrzymywana przez biblioteki uruchomieniowe dla implementacji firmy Microsoft i kilku innych producentów różnych języków programowania. Sam Win32 nie działa w ten sposób.)

Więc kiedy podałeś jako argument d:, zgłosiłeś do Ciebie aktualny katalog procesu tłumaczenia poleceń na dysku D, który okazał się być `D:## It did work, as the command is designed to work.

You simply don’t know how it’s actually supposed to work.

You’re not using a Unix or Linux shell program. Polecenie cd w interpretatorze poleceń Microsoftu nie zachowuje się tak, jak polecenia cd w takich powłokach. Zachowuje się nieco inaczej. W szczególności, it nie zawsze zmienia katalog. W powłokach uniksowych i linuksowych, cd nigdy nie ustawia tylko katalogu roboczego. W interpreterze poleceń Microsoftu, cd czasami zapytuje o niego. Nie ma oddzielnego polecenia pwd, więc cd wykonuje dwa zadania.

Jeśli nie podasz mu żadnych argumentów, lub argumentu, który jest tylko literą dysku i dwukropkiem bez ścieżki, to it zgłasza bieżący katalog zamiast go zmieniać. Jeśli nie podasz żadnych argumentów, to _it zgłosi bieżący katalog bieżącego napędu procesu interpretera poleceń. Jeśli jako argument podajemy tylko literę dysku i dwukropek, to _it raportuje bieżący katalog procesu interpretowania poleceń tego napędu. Każdy dysk ma swój własny, aktualny katalog w interpretatorze poleceń. (Jest to fikcja utrzymywana przez biblioteki uruchomieniowe dla implementacji firmy Microsoft i kilku innych producentów różnych języków programowania. Sam Win32 nie działa w ten sposób.)

Więc kiedy podałeś jako argument d:, zgłosiłeś do Ciebie aktualny katalog procesu tłumaczenia poleceń na dysku D, który okazał się być . Jeśli nie podałbyś mu żadnych argumentów, zgłosiłby do Ciebie .

Jeśli chcesz aby polecenie cd _ zawsze było w trybie ustawionym i nigdy nie było w trybie zapytania_ musisz dodać do niego opcję /D. Wymusza to, aby polecenie zawsze było w trybie set, a także rozszerza je tak, aby zmieniało bieżący dysk, jak również zmieniało bieżący katalog dysku. (Innymi słowy, to działa bardziej jak podstawowe API Win32 rzeczywiście robi.)

Więc, na przykład, linia poleceń

cd /d d:

zmieni katalog na jakikolwiek aktualny katalog na dysku D, a także zmieni aktualny dysk na dysk D.

Jeśli chcesz zmienić interpreter poleceń procesu aktualnego dysku inaczej, polecenie cd nie jest sposób. Robisz to po prostu wpisując literę dysku i dwukropek:

d:

Dalszy odczyt

  • JP Software (2011). CD/CHDIR TCC On-line Help.
  • Microsoft corporation (2001). Chdir (CD) . TechNet Windows XP Odniesienie do wiersza poleceń A-Z.
55
55
55
2010-04-27 16:28:25 +0000

Obawiam się, że to nieprawda. To prawda z czasów DOS-u, ale linia poleceń w Windows NT i później nie jest DOS-em. W linii poleceń, której wszyscy dzisiaj używają, masz przełącznik /D. Przełącznik /d zmieni aktualny katalog określonego dysku i zmieni się na ten katalog. Przełącznik /d musi być określony przed ścieżką. Na przykład:

C:\> cd /d D:\foo\bar\
D:\foo\bar\>

20
20
20
2012-01-19 07:58:57 +0000

CD oznacza C hange D, a nie Change Drive. Więc nie zmieniłby się na D: w ten sposób. Aby to osiągnąć, trzeba by po prostu wpisać literę dysku

np.

d:

9
9
9
2012-01-19 08:12:06 +0000

Katalog roboczy w pliku cmd.exe jest prowadzony na zasadzie volume-by-volume; katalog roboczy dla dysku C: jest inny niż katalog roboczy dla dysku D:.

Jeśli przekażesz tylko literę dysku do cd, wydrukuje on katalog roboczy dla określonego dysku.

W Twoim przypadku katalog roboczy dysku D: jest korzeniem wolumenu, D:Katalog roboczy w pliku cmd.exe jest prowadzony na zasadzievolume-by-volume; katalog roboczy dla dyskuC:jest inny niż katalog roboczy dla dyskuD:`.

Jeśli przekażesz tylko literę dysku do cd, wydrukuje on katalog roboczy dla określonego dysku.

W Twoim przypadku katalog roboczy dysku D: jest korzeniem wolumenu, .

Aby zmienić wolumen z C: na D:, po prostu wpisz literę dysku:

C:\>D:
D:\>
8
8
8
2012-01-19 13:33:59 +0000

Użyjcd /D D: aby to zrobić. Możesz również określić ścieżki.

5
5
5
2012-01-19 15:52:42 +0000

Jeśli chcesz zmienić dysk w wierszu poleceń DOS, musisz po prostu napisać:

[Drive Letter]:

Na przykład, jeśli chcesz przejść do D:\ dysku, musisz po prostu wpisać w wierszu poleceń:

D:
2
2
2
2016-07-27 21:59:20 +0000

pushd działa nawet wtedy, gdy trzeba przejść do pod-katalogu dysku np. D:\Tests\Logs.

Wystarczy użyć go tak:

pushd D:\Tests\Logs

Jeśli chcesz wrócić do poprzedniego katalogu użyj popd:

C:\Users>pushd D:\Tests\Logs
D:\Tests\Logs>popd
C:\Users>
0
0
0
2016-06-23 22:24:36 +0000

Podczas wyszukiwania opcji na pasku narzędzi i szukania cmd lub przez wybranie okien Wszystkie aplikacje wybierają wiersz polecenia, a następnie przechodzą do innego wiersza polecenia. Zamiast tego spróbuj nacisnąć przycisk okien + R i wyszukaj cmd, a następnie przejdź do napędu C:>. Stamtąd można przejść do D:> lub gdziekolwiek trzeba