Yanıtlar:
%HOMEDRIVE%%HOMEPATH%
Sürücü + \docs settings\username
veya için yapabilirsiniz \users\username
.
Bunu yapmak için %systemdrive%%homepath%
ortam değişkenini kullanabilirsiniz .
Birleştirildiğinde iki komut değişkeni, istediğiniz kullanıcının giriş dizini yolunu aşağıdaki gibi verir:
echo %systemdrive%
Komut isteminde çalıştırma şunları sağlar:
C:
echo %homepath%
Komut isteminde çalıştırma şunları sağlar:
\Users\<CurrentUserName>
Birlikte kullanıldığında şöyle olur:
C:\Users\<CurrentUserName>
%systemdrive%
eşdeğer çevre değişkeninden bahsetmeyi kaçırmıştım %homedrive%
. Yanlış bir şey bulursanız lütfen bana bu konuda geri bildirimde bulunun.
Güncelleme - daha iyi sürüm 18 Temmuz 2019.
Nihai özet, yine de çoğu windows konsolu çalışması için powershell'e geçmeme rağmen, ancak bu eski cmd sorununu tamamlamaya karar verdim, bugün bir cmd konsolu almak zorunda kaldım ve bu özelliğin eksikliği gerçekten beni vurdu. Bu nihayet önceki cevaplarımın başarısız olacağı alanlarda da işe yarıyor.
Buna ek olarak, bu artık diğer ev alt klasörleri için de önek olarak ~ kullanabiliyor ve eğik çizgileri ters eğik çizgilere de değiştiriyor. İşte burada;
Adım 1. Bu doskey makrolarını cmd her başlatıldığında bir yerde oluşturun.
DOSKEY cd=cdtilde.bat $*
DOSKEY cd~=chdir /D "%USERPROFILE%"
DOSKEY cd..=chdir ..
Adım 2. cdtilde.bat dosyasını oluşturun ve PATH'nizde bir yere koyun
@echo off
set dirname=""
set dirname=%*
set orig_dirname=%*
:: remove quotes - will re-attach later.
set dirname=%dirname:\"=%
set dirname=%dirname:/"=%
set dirname=%dirname:"=%
:: restore dirnames that contained only "/"
if "%dirname%"=="" set dirname=%orig_dirname:"=%
:: strip trailing slash, if longer than 3
if defined dirname if NOT "%dirname:~3%"=="" (
if "%dirname:~-1%"=="\" set dirname="%dirname:~0,-1%"
if "%dirname:~-1%"=="/" set dirname="%dirname:~0,-1%"
)
set dirname=%dirname:"=%
:: if starts with ~, then replace ~ with userprofile path
if %dirname:~0,1%==~ (
set dirname="%USERPROFILE%%dirname:~1%"
)
set dirname=%dirname:"=%
:: replace forward-slashes with back-slashes
set dirname="%dirname:/=\%"
set dirname=%dirname:"=%
chdir /D "%dirname%"
İle iyi test edilmiştir;
cd ~ (traditional habit)
cd~ (shorthand version)
cd.. (shorthand for going up..)
cd / (eg, root of C:)
cd ~/.config (eg, the .config folder under my home folder)
cd /Program Files (eg, "C:\Program Files")
cd C:/Program Files (eg, "C:\Program Files")
cd \Program Files (eg, "C:\Program Files")
cd C:\Program Files (eg, "C:\Program Files")
cd "C:\Program Files (eg, "C:\Program Files")
cd "C:\Program Files" (eg, "C:\Program Files")
Oh, ayrıca, boşlukları klasör yolu adlarında olsa bile, yararlı bulduğum tembel alıntılara izin verir, çünkü tüm argümanları uzun bir dize gibi sarar. Bu, sadece bir başlangıç teklifinin de çalıştığı veya tırnak işaretleri olmadan da çalıştığı anlamına gelir.
Aşağıdaki diğer şeyler artık göz ardı edilebilir, tarihsel nedenlerden dolayı kaldı - bu yüzden aynı hataları tekrar yapmıyorum
Eski güncelleme 19 Ekim 2018.
Başka birisinin benim yaklaşımımı denemesi durumunda, aşağıdaki orijinal yanıtım boşlukları ele almadı, örneğin, aşağıdakiler başarısız oldu.
> cd "c:\Program Files"
Files""]==["~"] was unexpected at this time.
Bence bunu çözmenin bir yolu olmalı. Cevabımı geliştirirsem tekrar yayınlayacağım. (yukarıya bakın, sonunda hepsini istediğim gibi çalıştırdım.)
Orijinal Cevabım, hala çalışmaya ihtiyaç vardı ... 7 Ekim 2018.
Sadece bugün yapmaya çalışıyordum ve sanırım anladım, bu iyi işlediğini düşünüyorum;
İlk olarak, bazı doskey makroları;
DOSKEY cd=cdtilde.bat $*
DOSKEY cd~=chdir /D "%USERPROFILE%"
DOSKEY cd..=chdir ..
ve sonra yolumdaki bir yarasa dosyası;
cdtilde.bat
@echo off
if ["%1"]==["~"] (
chdir /D "%USERPROFILE%"
) else (
chdir /D %*
)
Bütün bunlar iyi çalışıyor gibi görünüyor;
cd ~ (traditional habit)
cd~ (shorthand version)
cd.. (shorthand for going up..)
.bashrc
CMD'yi bir tür dosyasıyla başlatmanın bir yolu vardır : superuser.com/questions/144347/… . Bu cevaptan 1. adımı bashrc.bat
dosyaya koymak, başlangıçta yanıt verecektir.
Neredeyse aynısını kendiniz de yapabilirsiniz. Ortam Değişkenleri'ni açın ve "Kullanıcı Değişkenleri ..." de "Yeni" Düğmesini tıklayın.
Değişken Adı: ~
Değişken Değer: "Dizine Gözat ..." düğmesini tıklatın ve istediğiniz dizini seçin.
Ve bundan sonra cmd'yi açın ve şunu yazın:
cd% ~%
. İşe yarıyor.
Sadece denedim set ~=%userprofile%
ve aynı alışkanlığı kullanmaya devam etmek istiyorsanız da işe yarıyor
Bunun %~%
yerine kullanabilirsiniz .
~
= Değerini tam olarak nasıl ayarlarsınız %userprofile%
? Komut isteminde mesajınızda belirtilen tam komutu çalıştırdım ama hata atıyor - '~' is not recognized as an internal or external command, operable program or batch file.
. Cevabınızı biraz daha ayrıntılı olarak açıklar mısınız?
set ~=%userprofile%
o zaman %~%
değişken için kullanabilirsiniz
Sadece çok fazla yazmadan bunu yapmak için bir komut dosyası yazarken, taşınabilirliği korurken ayarın her Windows PC'de manuel bir kuruluma ihtiyaç duyduğu ve klonlama ve dizinin mekanik bir parçası olarak ayarlanması ~
gerektiği için yazdı .%userprofile%
PATH
basitçe
İlk Yolu Tanımla
doskey ~=cd %homepath%
Sonra Erişim
~
Sizi ana dizine götüren klasörler olduğu gibi cd ...... \ de yapabilirsiniz. Örneğin, cd: \ windows \ syatem32'deyseniz, cd .... \ sizi eve götürür, yani c: \
C:\Users\username
klasör hakkında (veya c:\Documents and Settings\username
daha önceki Windows'ta) soruyor
C:\
oldukça kullanılması tavsiye edilir cd \
belirsiz bir numara yerinecd ..\..\..