2010-07-28 09:47:26 +0000 2010-07-28 09:47:26 +0000
110
110

Czy istnieje polecenie skrótu w wierszu poleceń Windows, aby dostać się do katalogu domowego bieżącego użytkownika, tak jak to jest w Linuksie?

Jestem przyzwyczajony do używania

cd ~

aby dostać się bezpośrednio do mojego katalogu domowego. W wierszu poleceń Windows muszę wykonać

cd Users\username

aby się tam dostać. Czy jest jakiś skrót podobny do tego z Linuksa? Byłoby miło, gdybym mógł dostać się tam wykonując

cd username

Czy coś takiego jest możliwe w Windows Vista?

Odpowiedzi (11)

167
167
167
2010-07-28 10:12:08 +0000

Tak, możesz użyć %HOMEPATH%, która jest pełną ścieżką do katalogu domowego użytkownika.

Dostępnych jest wiele innych użytecznych zmiennych, takich jak %OS% (system operacyjny), lub %WINDIR% (katalog systemowy Windows). Zobacz Wikipedia: Zmienne środowiskowe aby zobaczyć listę.


Uwagi:

Właściwie, sprawy są trochę skomplikowane (jak zwykle). %HOMEPATH% zawiera tylko ścieżkę, bez litery dysku, więc nie będzie działać dla cding z innego dysku. Możesz również użyć %USERPROFILE%, który zawiera literę dysku i jest zwykle tym samym katalogiem co %HOMEPATH%.

Wartości tych zmiennych i to, która z nich jest odpowiednia dla ciebie, zależy od wersji Windows i zmian dokonanych przez administratora, ponieważ ich wartości mogą być różne (zobacz np. pytanie Różnica między profilem a ścieżką domową ).

23
23
23
2013-01-18 18:26:42 +0000

Dwie inne opcje, z których obie mogą być dodane do skryptu i automatycznie wykonywane w sposób podobny do odpowiedzi BillP3rd.

To są dwa znaki więcej, ale…

SET ~=%HOMEPATH%    
CD %~%

lub…

CD %~%\Desktop

Lub…

doskey ~=cd %homepath%
~

Oczywiście nie można używać tego ~ w ścieżkach, ale jako szybkie “skocz do mojego home dir” wpisanie ~ Enter jest całkiem szybkie.

19
19
19
2010-07-28 10:47:03 +0000

Zawsze możesz umieścić plik .bat gdzieś w swoim %PATH%, który wykona zmianę ścieżki za Ciebie.

9
9
9
2013-05-07 18:33:50 +0000

Utworzyłem plik .cmd w katalogu w mojej ścieżce i nazwałem go “cd~.cmd”. Jego zawartość to:

@cd %HOMEPATH%

Więc mogę wpisać “cd~” z dowolnego miejsca, aby dostać się do mojego katalogu domowego. Nie to samo, co “cd ~” (zauważ brakującą spację), ale wystarczająco blisko dla mnie.

7
7
7
2014-07-31 18:39:22 +0000

Odpowiedź sleske ](https://superuser.com/a/168719/37845) jest prawie dokładnie poprawna, ale nie zawsze działa.

Jeśli twój katalog domowy znajduje się w udziale sieciowym ustawionym jako zmapowany dysk, wykonaj poniższe polecenie niezależnie od napędu bieżącego katalogu:

cd /D %HOMEDRIVE%%HOMEPATH%

Przełącznik /D jest konieczny, aby cd mógł zmieniać napędy.

5
5
5
2016-03-04 12:16:07 +0000

Czy istnieje skrót dla `C:\Users<current user>### Czy istnieje skrót dla ?

Nie ma bezpośredniego skrótu.

Istnieje kilka różnych rozwiązań (patrz poniżej).

  1. Użyj zmiennej środowiskowej razem z cd lub cd /d

  2. Użyj subst lub net use do utworzenia mapowania na inną literę dysku.

  3. Zainstaluj cygwin i użyj bash

  4. Użyj powershell - powershell obsługuje ~

Ostatnie rozwiązanie jest prawdopodobnie najprostsze, jeśli jesteś przygotowany na użycie powershell zamiast cmd.


Rozwiązanie 1: Użyj zmiennej środowiskowej wraz z cd lub cd /d

Jeśli chcesz regularnie przechodzić do tego katalogu to uruchom następującą komendę:

setx DOCS %USERPROFILE%

Ustawi to na stałe zmienną środowiskową DOCS, ale aby z niej skorzystać należy najpierw uruchomić nową powłokę cmd, wtedy zmienna jest zdefiniowana i gotowa do użycia:

F:\test>echo %DOCS%
C:\Users\DavidPostill\

Aby zmienić katalog z dowolnej lokalizacji należy użyć następującej komendy:

cd /d %DOCS%

Jeśli jesteś już na dysku c: możesz po prostu użyć:

cd %DOCS%

Utwórz plik wsadowy (docs.cmd) i umieść go gdzieś w swoim dysku PATH.

docs.cmd:

@echo off
cd /d %DOCS%

Można wtedy po prostu wpisać docs niezależnie od aktualnej lokalizacji i zostaniesz przeniesiony do C:\Users\<current user>


Rozwiązanie 2: Użyj subst lub net use do utworzenia mapowania na inną literę dysku.

Możesz użyć subst:

subst x: %USERPROFILE%

A następnie

x:

Niestety mapowania dysków nie zachowują się po restarcie systemu.

net use będą trwałe po restarcie, na przykład:

net use x: "\computerName\c$\pathName" /persistent:yes

Zobacz odpowiedzi w Jak sprawić, aby mapowanie SUBST było trwałe po restarcie? po szczegółowe instrukcje.


Rozwiązanie 3: Zainstaluj cygwin i użyj bash

Możesz rozważyć zainstalowanie cygwin :

Cygwin to:

  • duży zbiór narzędzi GNU i Open Source, które zapewniają funkcjonalność podobną do dystrybucji Linuksa w systemie Windows.

Po zainstalowaniu cygwin możesz uruchomić bash w terminalu cygwin i odpowiednio ustawić zmienną środowiskową bash HOME.

Alternatywą dla cygwin są msys (MingW) :

MSYS jest zbiorem narzędzi GNU, takich jak bash, make, gawk i grep, umożliwiających budowanie aplikacji i programów, które zależą od obecności tradycyjnie UNIX-owych narzędzi. Ma on na celu uzupełnienie MinGW i braków powłoki cmd.

I Git dla Windows :

Git for Windows zapewnia emulację BASH używaną do uruchamiania Gita z wiersza poleceń. *Użytkownicy systemu UNIX powinni czuć się jak w domu, ponieważ emulacja BASH zachowuje się tak samo jak polecenie “git” w środowiskach LINUX i UNIX.


Rozwiązanie 4: Użyj powershell

Jak wskazano w komentarzu do innego pytania przez SBI powershell obsługuje ~ i możesz po prostu wpisać:

cd ~

Further Reading

  • An A-Z Index of the Windows CMD command line - An excellent reference for all things Windows cmd line related.
  • cd - Zmień katalog - wybierz folder (i napęd)
  • setx - Ustaw zmienne środowiskowe na stałe, SETX może być użyty do ustawienia zmiennych środowiskowych dla maszyny (HKLM) lub aktualnie zalogowanego użytkownika (HKCU).
  • subst - Zastępuje literę dysku w ścieżce sieciowej lub lokalnej.
3
3
3
2010-07-28 10:01:04 +0000

Nie wiem, czy jest to cecha naszego skryptu logowania do pracy, czy domyślna właściwość Windows, ale mogę użyć cd %HOMEPATH%, aby to osiągnąć, gdzie HOMEPATH jest zmienną środowiskową.

1
1
1
2010-08-17 00:42:06 +0000

Jeśli chcesz, aby wszystkie podpowiedzi poleceń użytkownika były uruchamiane w jego katalogu domowym, utwórz następujący klucz rejestru jako rozszerzalną wartość łańcuchową (bez cudzysłowów, oczywiście):

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun : "cd /d %USERPROFILE%"

Jeśli chcesz, aby tylko twoje podpowiedzi poleceń to robiły:

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun : "cd /d %USERPROFILE%"

Ja praktykuję utrzymywanie folderu c:\Scripts, w którym trzymam plik wsadowy typu “autoexec”, który wywołuję za pomocą tego klucza.

1
1
1
2015-02-20 14:22:33 +0000

Zdaję sobie sprawę, że jest to pytanie, które już dawno zostało zrobione, ale tylko dla rekordu. Zainstaluj clink , to rozszerza twój wiersz poleceń na tak wiele sposobów. Tak, jest to cięższe niż powyższe rozwiązania, ale sprawia, że okno cmd zachowuje się o wiele lepiej.

0
0
0
2018-04-04 20:49:33 +0000

Użyłem do tego celu lepszego terminala cmder ). Ma on wbudowane aliasy i jest bardzo łatwy w użyciu. Po prostu przeczytaj dokumentację o aliasach tutaj .

0
0
0
2012-10-18 08:43:39 +0000

Windows naprawdę stał się “Wszystko o gui”, więc w twoim przypadku po prostu dostać narzędzia, które chcesz, zamiast próbować “zginać” system do swojej woli … Narzędzia MinGW są doskonałą małą kolekcją niektórych z najczęściej używanych narzędzi gnu … Gorąco polecam, jeśli jesteś fanem nixa na Win … http://www.mingw.org/wiki/MSYS