Apakah ada perintah pintas di command prompt Windows untuk sampai ke direktori home pengguna saat ini seperti di Linux?

105

Saya terbiasa menggunakan

cd ~

untuk langsung ke direktori home saya. Pada command prompt Windows yang harus saya lakukan

cd Users\username

untuk sampai ke sana. Apakah ada jalan pintas seperti yang ada di Linux? Akan lebih baik jika saya bisa sampai di sana dengan melakukan

cd username

Apakah hal seperti ini dimungkinkan pada Windows Vista?

classer
sumber
7
Di Unix, tidak perlu untuk tilde. cdtanpa argumen akan berubah ke direktori home Anda.
pemain coneslayer
ada pertanyaan seperti ini di sini pada su, tidak dapat menemukannya.
akira
1
@coneslayer saya tahu tetapi untuk memindahkan file dari satu direktori ke direktori lain Anda menggunakan tilde.
classer
Sesederhanacd %userprofile%
subtleseeker
Anda dapat menggunakan Windows Power Shell (pada Win XP dan yang lebih baru) yang memungkinkan Anda untuk menggunakan ~ untuk direktori home. Lihat juga ----> stackoverflow.com/questions/9228950/…
franz1

Jawaban:

20

Anda selalu dapat meletakkan .bat-File di suatu tempat di% PATH% Anda yang mengubah jalur untuk Anda.

dertoni
sumber
154

Ya, Anda dapat menggunakan %HOMEPATH%, yang merupakan path lengkap dari direktori home pengguna.

Ada beberapa variabel bermanfaat lain yang tersedia, seperti %OS%(Sistem Operasi), atau %WINDIR%(direktori sistem Windows). Lihat Wikipedia: Variabel Lingkungan untuk daftar.


Catatan :

Sebenarnya, segalanya agak rumit (seperti biasa). %HOMEPATH%hanya berisi path, tanpa huruf drive, jadi tidak akan berfungsi untuk cddrive lain. Anda juga dapat menggunakan %USERPROFILE%, yang memang berisi huruf drive, dan biasanya direktori yang sama dengan %HOMEPATH%.

Nilai dari variabel-variabel ini, dan mana yang tepat untuk Anda, akan tergantung pada versi Windows dan perubahan apa pun oleh administrator, karena nilainya mungkin berbeda (lihat misalnya perbedaan Pertanyaan antara profil dan jalur beranda ).

sleske
sumber
5
Ini adalah jawaban yang paling benar, menurut saya, karena tidak bergantung pada lintasan kode-keras dan tautan filesystem aneh yang mungkin ada di antara mereka.
Ed Orsi
3
Ini jawaban yang benar.
Frederik Krautwald
Ini menyelamatkan hidupku! Setelah melihat banyak jawaban lain dari berbagai pertanyaan. Lagi! Ini bekerja untuk saya dan harus ditandai sebagai jawaban untuk pertanyaan ini.
Patricia
@MissLucy: Saya senang itu membantu Anda. Mengenai menerima jawaban: Terserah OP untuk memutuskan. Anda dapat menambahkan komentar pada pertanyaan untuk mengingatkan mereka.
sleske
gunakan% USERPROFILE% sebagai gantinya.
JJS
22

Dua opsi lain yang keduanya dapat ditambahkan ke skrip dan dijalankan secara otomatis dengan cara yang mirip dengan jawaban BillP3rd.

Ini dua karakter lagi tetapi ...

SET ~=%HOMEPATH%    
CD %~%

atau...

CD %~%\Desktop

Atau...

doskey ~=cd %homepath%
~

Tentu saja Anda tidak dapat menggunakan ini ~di jalur, tetapi mengetik cepat "lompat ke dir rumah saya" ~ Entercukup cepat.

Carl
sumber
1
Apakah Anda bercanda dengan soal doskey ??? Saya sekarang memiliki satu shortcut char ke folder mana pun yang saya inginkan. Ini harus menjadi jawaban # 1.
Andrew
9

Saya membuat file .cmd pada direktori di jalur saya, dan menamakannya "cd ~ .cmd". Isinya adalah:

@cd %HOMEPATH%

Jadi saya bisa mengetik "cd ~" dari mana saja untuk sampai ke direktori home saya. Tidak sama dengan "cd ~" (perhatikan ruang yang hilang) tetapi cukup dekat untuk saya.

Jaime de los Hoyos M.
sumber
2
Jawaban yang paling pintar. Menggabungkan jawaban Anda dengan jawaban dari Kenny Evitt ini memberikan solusi terbaik.
Sнаđошƒаӽ
7

Jawaban sleske hampir persis benar, tetapi tidak selalu berhasil.

Jika direktori rumah Anda berada pada pengaturan berbagi jaringan sebagai drive yang dipetakan, jalankan yang berikut terlepas dari drive direktori saat ini:

cd /D %HOMEDRIVE%%HOMEPATH%

The /Dswitch diperlukan untuk memungkinkan cduntuk mengubah drive.

Kenny Evitt
sumber
5

Apakah ada jalan pintas untuk C:\Users\<current user>\?

Tidak ada jalan pintas langsung.

Ada beberapa solusi berbeda (lihat di bawah).

  1. Gunakan variabel lingkungan bersama dengan cdataucd /d

  2. Gunakan substatau net useuntuk membuat pemetaan ke huruf drive lain.

  3. Instal cygwindan gunakanbash

  4. Gunakan powershell- PowerShell mendukung~

Solusi terakhir mungkin adalah yang paling sederhana jika Anda siap untuk menggunakan powershellbukan cmd.


Solusi 1: Gunakan variabel lingkungan bersama dengan cdataucd /d

Jika Anda ingin mengubah ke direktori ini secara teratur, maka jalankan perintah berikut:

setx DOCS %USERPROFILE%

Ini akan secara permanen mengatur variabel lingkungan DOCS, tetapi untuk menggunakannya, Anda harus terlebih dahulu memulai cmdshell baru , kemudian variabelnya ditentukan dan siap digunakan:

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

Untuk mengubah direktori dari lokasi mana pun, gunakan perintah berikut:

cd /d %DOCS%

Jika Anda sudah berada di drive c:Anda cukup menggunakan:

cd %DOCS%

Buat file batch ( docs.cmd) dan letakkan di suatu tempat di file Anda PATH.

docs.cmd:

@echo off
cd /d %DOCS%

Anda kemudian dapat cukup mengetik docsterlepas dari lokasi Anda saat ini dan itu akan membawa Anda ke sanaC:\Users\<current user>


Solusi 2: Gunakan substatau net useuntuk membuat pemetaan ke huruf drive lain.

Anda bisa menggunakan subst:

subst x: %USERPROFILE%

Lalu

x:

Sayangnya pemetaan drive tidak bertahan di seluruh reboot.

net use akan bertahan di seluruh reboot, misalnya:

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

Lihat jawaban di Bagaimana membuat pemetaan SUBST persisten di seluruh reboot? untuk instruksi terperinci.


Solusi 3: Instal cygwindan gunakanbash

Anda dapat mempertimbangkan menginstal cygwin :

Cygwin adalah:

  • koleksi besar GNU dan alat-alat Open Source yang menyediakan fungsionalitas yang mirip dengan distribusi Linux pada Windows.

Setelah Anda menginstal cygwin, Anda dapat menjalankan bashterminal cygwin dan mengatur variabel lingkungan bash yang HOMEsesuai.

Alternatif untuk cygwin termasuk msys (MingW) :

MSYS adalah kumpulan utilitas GNU seperti bash, make, gawk, dan grep untuk memungkinkan pembangunan aplikasi dan program yang bergantung pada alat UNIX tradisional untuk hadir. Hal ini dimaksudkan untuk melengkapi MinGW dan kekurangan shell cmd.

Dan Git untuk Windows :

Git untuk Windows menyediakan emulasi BASH yang digunakan untuk menjalankan Git dari baris perintah. * Pengguna NIX akan merasa seperti di rumah, karena emulasi BASH berlaku seperti perintah "git" di lingkungan LINUX dan UNIX.


Solusi 4: Gunakan powershell

Seperti yang ditunjukkan dalam komentar pada pertanyaan lain oleh dukungan SBI PowerShell ~dan Anda bisa mengetik:

cd ~

Bacaan lebih lanjut

  • Indeks AZ dari baris perintah CMD Windows - Referensi yang sangat baik untuk semua hal terkait Windows cmd line.
  • cd - Ubah Direktori - Pilih Folder (dan drive)
  • setx - Tetapkan variabel lingkungan secara permanen, SETX dapat digunakan untuk mengatur Variabel Lingkungan untuk mesin (HKLM) atau saat ini pengguna yang masuk (HKCU).
  • subt - Mengganti huruf drive untuk jaringan atau jalur lokal.
DavidPostill
sumber
Jika pada Powershell ada dua cara tambahan: cd $HOMEdancd $env:HOMEPATH
Dirk Thannhäuser
3

Tidak tahu apakah ini fitur skrip login pekerjaan kami atau windows default, tapi saya bisa menggunakan cd% HOMEPATH% untuk mencapainya, di mana HOMEPATH adalah variabel lingkungan.

Rob Cowell
sumber
Saya melihat. Masih dibutuhkan banyak untuk menulis% HOMEPATH%. Anda juga tidak dapat melengkapinya secara otomatis. Apakah ada cara saya dapat membuat nama pengguna saya sama dengan% HOMEPATH% dengan membuat perintah baru di cmd.exe?
classer
1

Jika Anda ingin semua perintah pengguna diminta untuk memulai di direktori "home" mereka, buat kunci registri berikut sebagai Nilai String yang Dapat Diperluas (tanpa tanda kutip, tentu saja):

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

Jika Anda hanya menginginkan perintah Anda diminta untuk melakukannya:

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

Saya menjadikannya praktik untuk menjaga folder ac: \ Scripts tempat saya menyimpan file batch "autoexec" yang saya panggil melalui kunci ini.

BillP3rd
sumber
Awas, ini akan memecah bower dan npm (dan Visual Studio) ...
Quandary
1

Saya menyadari ini adalah pertanyaan yang sudah lama dilakukan, tetapi hanya sebagai catatan. Instal clink, ini memperluas prompt perintah Anda dalam banyak hal. Ya itu lebih berat daripada solusi di atas tetapi itu membuat jendela cmd berperilaku jauh lebih baik.

THBBFT
sumber
denting == penyuntingan baris perintah gaya Bash yang kuat untuk cmd.exe
suspus
Benar, dan intinya adalah ~ yang memutuskan ke direktori User \ {user}.
THBBFT
0

Windows telah benar-benar menjadi 'Semua tentang gui' jadi dalam kasus Anda, saya hanya akan mendapatkan alat yang Anda inginkan daripada mencoba 'membengkokkan' sistem sesuai keinginan Anda ... Alat-alat MinGW adalah kumpulan kecil yang sangat baik dari beberapa alat gnu paling banyak digunakan ... Saya sangat merekomendasikannya jika Anda penggemar nix di Win ...

http://www.mingw.org/wiki/MSYS

Eddie B
sumber
0

Saya menggunakan terminal ( cmder ) yang lebih baik untuk tujuan ini. Itu telah dibangun di alias dan sangat mudah digunakan. Baca saja dokumentasi tentang Alias ​​di sini .

Don Camillo
sumber