Có một lệnh tắt trong dấu nhắc lệnh của Windows để đến thư mục chính của người dùng hiện tại giống như trong Linux không?


104

Tôi đã quen sử dụng

cd ~

để vào ngay thư mục nhà của tôi Trong dấu nhắc lệnh của Windows, tôi phải làm

cd Users\username

để đến đó. Có một phím tắt như Linux không? Sẽ thật tuyệt nếu tôi có thể đến đó bằng cách làm

cd username

Có một cái gì đó như thế này có thể có trong Windows Vista?


7
Trong Unix, không cần dấu ngã. cdkhông có đối số sẽ thay đổi vào thư mục nhà của bạn.
coneslayer

Có một câu hỏi như thế này ở đây trên su, không thể tìm thấy nó.
akira

1
@coneslayer tôi biết nhưng để di chuyển một tập tin từ thư mục này sang thư mục khác bạn sử dụng dấu ngã.
classer

cd %userprofile%
Đơn

Bạn có thể sử dụng Windows Power Shell (trên Win XP trở lên) cho phép bạn sử dụng ~ cho thư mục chính. Xem thêm ----> stackoverflow.com/questions/9228950/ Cách
franz1

Câu trả lời:


20

Bạn luôn có thể đặt một tệp .bat ở đâu đó trong% PATH% để thay đổi đường dẫn cho bạn.


154

Có, bạn có thể sử dụng %HOMEPATH%, đó là đường dẫn đầy đủ của thư mục chính của người dùng.

Có khá nhiều biến hữu ích khác, chẳng hạn như %OS%(Hệ điều hành) hoặc %WINDIR%(thư mục hệ thống Windows). Xem Wikipedia: Biến môi trường để biết danh sách.


Ghi chú :

Trên thực tế, mọi thứ hơi phức tạp (như thường lệ). %HOMEPATH%chỉ chứa đường dẫn, không có ký tự ổ đĩa, vì vậy sẽ không hoạt động để cdlấy từ một ổ đĩa khác. Bạn cũng có thể sử dụng %USERPROFILE%, trong đó chứa ký tự ổ đĩa và thường là cùng thư mục với %HOMEPATH%.

Các giá trị của các biến này và biến nào phù hợp với bạn, sẽ phụ thuộc vào phiên bản Windows và mọi thay đổi của quản trị viên, vì các giá trị của chúng có thể khác nhau (xem ví dụ: Sự khác biệt giữa hồ sơ và đường dẫn nhà ).


5
Đây là câu trả lời đúng nhất, theo ý kiến ​​của tôi, bởi vì nó không dựa vào các đường dẫn được mã hóa cứng và bất kỳ liên kết hệ thống tập tin lập dị nào có thể nằm giữa chúng.
Ed Orsi

3
Đây là câu trả lời chính xác.
Frederik Krautwald

Điều này đã cứu cuộc đời tôi! Sau khi xem xét rất nhiều câu trả lời khác từ các câu hỏi khác nhau. Lần nữa! Điều này làm việc cho tôi và nên được đánh dấu là câu trả lời cho câu hỏi này.
Patricia

@MissLucy: Tôi rất vui vì nó đã giúp bạn. Như chấp nhận một câu trả lời: Điều đó tùy thuộc vào OP quyết định. Bạn có thể thêm một bình luận cho câu hỏi để cảnh báo họ.
sleske

thay vào đó, sử dụng% USERPROFILE%.
JJS

21

Hai tùy chọn khác cả hai đều có thể được thêm vào tập lệnh và tự động thực hiện theo cách tương tự như câu trả lời của BillP3rd.

Đó là hai nhân vật nữa nhưng ...

SET ~=%HOMEPATH%    
CD %~%

hoặc là...

CD %~%\Desktop

Hoặc là...

doskey ~=cd %homepath%
~

Tất nhiên bạn không thể sử dụng điều này ~trong các đường dẫn nhưng vì cách gõ "nhảy tới thư mục nhà của tôi" ~ Enterkhá nhanh.


1
Bạn đang đùa tôi với điều doskey ??? Bây giờ tôi có một phím tắt char duy nhất cho bất kỳ thư mục nào tôi cảm thấy thích cd vào. Đây phải là câu trả lời số 1.
Andrew

9

Tôi đã tạo một tệp .cmd trên một thư mục trong đường dẫn của mình và đặt tên là "cd ~ .cmd". Nội dung của nó là:

@cd %HOMEPATH%

Vì vậy, tôi có thể gõ "cd ~" từ bất cứ đâu để vào thư mục chính của mình. Không giống như "cd ~" (lưu ý không gian bị thiếu) nhưng đủ gần với tôi.


2
Câu trả lời thông minh nhất. Kết hợp câu trả lời của bạn với câu trả lời này của Kenny Evitt sẽ đưa ra giải pháp tốt nhất.
Sнаđошƒаӽ

7

Câu trả lời của sleske gần như chính xác, nhưng nó không phải lúc nào cũng hoạt động.

Nếu thư mục chính của bạn nằm trong thiết lập chia sẻ mạng dưới dạng ổ đĩa được ánh xạ, hãy chạy các mục sau bất kể ổ đĩa của thư mục hiện tại:

cd /D %HOMEDRIVE%%HOMEPATH%

Việc /Dchuyển đổi là cần thiết để cho phép cdthay đổi ổ đĩa.


5

Có một phím tắt cho C:\Users\<current user>\?

Không có phím tắt trực tiếp.

Có một vài giải pháp khác nhau (xem bên dưới).

  1. Sử dụng biến môi trường cùng với cdhoặccd /d

  2. Sử dụng substhoặc net useđể tạo ánh xạ tới ký tự ổ đĩa khác.

  3. Cài đặt cygwinvà sử dụngbash

  4. Sử dụng powershell- hỗ trợ powershell~

Giải pháp cuối cùng có lẽ là đơn giản nhất nếu bạn chuẩn bị sử dụng powershellthay vì cmd.


Giải pháp 1: Sử dụng biến môi trường cùng với cdhoặccd /d

Nếu bạn muốn thay đổi thư mục này một cách thường xuyên thì hãy chạy lệnh sau:

setx DOCS %USERPROFILE%

Điều này sẽ đặt vĩnh viễn biến môi trường DOCS, nhưng để sử dụng nó, trước tiên bạn cần khởi động một cmdshell mới , sau đó biến được xác định và sẵn sàng sử dụng:

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

Để thay đổi thư mục từ bất kỳ vị trí nào, hãy sử dụng lệnh sau:

cd /d %DOCS%

Nếu bạn đã lái xe, c:bạn chỉ có thể sử dụng:

cd %DOCS%

Tạo một tệp bó ( docs.cmd) và đặt nó ở đâu đó trong của bạn PATH.

tài liệu.cmd:

@echo off
cd /d %DOCS%

Sau đó, bạn có thể chỉ cần nhập docsbất kể vị trí hiện tại của bạn và nó sẽ đưa bạn đếnC:\Users\<current user>


Giải pháp 2: Sử dụng substhoặc net useđể tạo ánh xạ tới ký tự ổ đĩa khác.

Bạn có thể sử dụng subst:

subst x: %USERPROFILE%

Và sau đó

x:

Thật không may, ánh xạ ổ đĩa không tồn tại trên các lần khởi động lại.

net use sẽ tiếp tục trên các lần khởi động lại, ví dụ:

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

Xem các câu trả lời trong Làm thế nào để lập bản đồ SUBST liên tục trên các lần khởi động lại? để được hướng dẫn chi tiết.


Giải pháp 3: Cài đặt cygwinvà sử dụngbash

Bạn có thể xem xét việc cài đặt cygwin :

Cygwin là:

  • một bộ sưu tập lớn các công cụ GNU và Nguồn mở cung cấp chức năng tương tự như bản phân phối Linux trên Windows.

Khi bạn đã cài đặt cygwin, bạn có thể chạy bashtrong thiết bị đầu cuối cygwin và đặt biến môi trường bash HOMElà phù hợp.

Các lựa chọn thay thế cho cygwin bao gồm msys (MingW) :

MSYS là một tập hợp các tiện ích GNU như bash, make, gawk và grep để cho phép xây dựng các ứng dụng và chương trình phụ thuộc vào các công cụ UNIX truyền thống hiện diện. Nó được dự định để bổ sung cho MinGW và sự thiếu hụt của vỏ cmd.

Git cho Windows :

Git cho Windows cung cấp một mô phỏng BASH được sử dụng để chạy Git từ dòng lệnh. * Người dùng NIX sẽ cảm thấy như ở nhà, vì trình mô phỏng BASH hoạt động giống như lệnh "git" trong môi trường LINUX và UNIX.


Giải pháp 4: Sử dụng powershell

Như đã chỉ ra trong một nhận xét về một câu hỏi khác của SBI powershell hỗ trợ ~và bạn chỉ cần gõ:

cd ~

Đọc thêm

  • Một chỉ mục AZ của dòng lệnh Windows CMD - Một tài liệu tham khảo tuyệt vời cho tất cả những thứ liên quan đến dòng cmd của Windows.
  • cd - Thay đổi thư mục - Chọn một thư mục (và ổ đĩa)
  • setx - Đặt các biến môi trường vĩnh viễn, có thể sử dụng SETX để đặt Biến môi trường cho máy (HKLM) hoặc hiện đang đăng nhập trên người dùng (HKCU).
  • trạm biến áp - Thay thế ký tự ổ đĩa cho mạng hoặc đường dẫn cục bộ.

Nếu trên Powershell, có hai cách bổ sung: cd $HOMEcd $env:HOMEPATH
Dirk Thannhäuser

3

Nếu đó là một tính năng của tập lệnh đăng nhập công việc của chúng tôi hoặc mặc định của windows, nhưng tôi có thể sử dụng cd% HOMEPATH% để đạt được điều đó, trong đó HOMEPATH là một biến môi trường.


Tôi hiểu rồi. Vẫn còn rất nhiều để viết% HOMEPATH%. Ngoài ra, bạn không thể tự động hoàn thành nó. Có cách nào để tôi có thể làm cho tên người dùng của mình bằng% HOMEPATH% bằng cách tạo một lệnh mới trong cmd.exe không?
classer

1

Nếu bạn muốn tất cả các lời nhắc commANGE của người dùng bắt đầu trong thư mục "nhà" của họ, hãy tạo khóa đăng ký sau dưới dạng Giá trị chuỗi có thể mở rộng (tất nhiên là trích dẫn sans):

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

Nếu bạn chỉ muốn lệnh của bạn nhắc để làm điều đó:

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

Tôi biến nó thành một thông lệ để giữ thư mục ac: \ ScScript trong đó tôi giữ một tệp bó kiểu "autoexec" mà tôi gọi thông qua khóa này.


Xem ra, điều này sẽ phá vỡ bower và npm (và Visual Studio) ...
Quandary

1

Tôi nhận ra đây là một câu hỏi đã được thực hiện từ lâu, nhưng chỉ dành cho hồ sơ. Cài đặt clink, điều này mở rộng dấu nhắc lệnh của bạn theo nhiều cách. Có nó nặng hơn các giải pháp trên nhưng nó làm cho cửa sổ cmd hoạt động tốt hơn nhiều.


không chê được == Bash-phong cách mạnh mẽ lệnh soạn thảo dòng cho cmd.exe
suspectus

Phải, và toàn bộ vấn đề là ~ giải quyết thư mục User \ {user}.
THBBFT

0

Windows đã thực sự trở thành 'Tất cả về gui', vì vậy trong trường hợp của bạn, tôi chỉ cần lấy các công cụ bạn muốn thay vì cố gắng 'uốn cong' hệ thống theo ý muốn của bạn ... Các công cụ MinGW là một bộ sưu tập nhỏ tuyệt vời của một số Các công cụ gnu được sử dụng rộng rãi nhất ... Tôi thực sự khuyên bạn nên sử dụng nó nếu một người hâm mộ nix của bạn trên Win ...

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


0

Tôi đã sử dụng một thiết bị đầu cuối tốt hơn ( cmder ) cho mục đích này. Nó đã được xây dựng trong bí danh và rất dễ sử dụng. Chỉ cần đọc tài liệu về Bí danh ở đây .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.