Làm cách nào tôi có thể mở một dấu nhắc lệnh trong thư mục hiện tại bằng phím tắt?


116

Làm cách nào tôi có thể mở một dấu nhắc lệnh trong thư mục hiện tại bằng phím tắt trong Windows 7?
Có cách nào để thực hiện điều này?
Tôi nghĩ Autohotkey có thể làm điều này, nhưng không biết làm thế nào.



4
Protip: Shift nhấp chuột phải> Mở cửa sổ lệnh tại đây
Derek 會

Câu trả lời:


121

Sử dụng phím tắt bàn phím này: Shift+ Menu, W,Enter

  1. Shift+ Menu(cách khác, Shift+ F10), (mở menu nhấp chuột phải mở rộng trong thư mục hiện tại)

  2. W (chọn "Mở cửa sổ lệnh tại đây"),

  3. Enter(kích hoạt lựa chọn; bắt buộc vì "Mới" cũng có thể được chọn với W)

Các Menuchủ chốt liên quan đến phím đặc biệt được giới thiệu bởi Microsoft, thường ở bên phải của quyền Winchủ chốt.

Phím tắt này có sẵn trên bản cài đặt mặc định của Windows (7) mà không cần bất kỳ phần mềm bên thứ 3 nào.


Cách AHK. Bạn chỉ cần nhấn Win+C (hoặc bất cứ điều gì bạn muốn xác định là.):

SetTitleMatchMode RegEx
return

; Stuff to do when Windows Explorer is open
;
#IfWinActive ahk_class ExploreWClass|CabinetWClass

    ; create new text file
    ;
    #t::Send !fwt

    ; open 'cmd' in the current directory
    ;
    #c::
        OpenCmdInCurrent()
    return
#IfWinActive


; Opens the command shell 'cmd' in the directory browsed in Explorer.
; Note: expecting to be run when the active window is Explorer.
;
OpenCmdInCurrent()
{
    ; This is required to get the full path of the file from the address bar
    WinGetText, full_path, A

    ; Split on newline (`n)
    StringSplit, word_array, full_path, `n

    ; Find and take the element from the array that contains address
    Loop, %word_array0%
    {
        IfInString, word_array%A_Index%, Address
        {
            full_path := word_array%A_Index%
            break
        }
    }  

    ; strip to bare address
    full_path := RegExReplace(full_path, "^Address: ", "")

    ; Just in case - remove all carriage returns (`r)
    StringReplace, full_path, full_path, `r, , all


    IfInString full_path, \
    {
        Run,  cmd /K cd /D "%full_path%"
    }
    else
    {
        Run, cmd /K cd /D "C:\ "
    }
}

Là một phần thưởng, tập lệnh ở trên cũng tạo ra một tệp văn bản mới với phím tắt này: Win+T

Tín dụng cho: Eli Bendersky


2
ah, thay đổi thực đơn là tốt đẹp.
akira

Làm thế nào để bạn sử dụng chính xác kịch bản này?
Jonathan

@Jonathan: Cài đặt Auto-HotKey ( autohotkey.com ). Sao chép nội dung tập lệnh vào tệp AutoHotkey.ahk. (có thể trong% USERPROFILE% \ Documents \) ​​Khởi động lại Auto-Hotkey.
Leftium

Đây là giải pháp hoạt động duy nhất trong số tất cả các đoạn AutoHotkey tôi tìm thấy trên web. Cảm ơn rất nhiều!
Lucas

2
Không làm việc cho tôi.
boleslaw.smialy 29/07/2015

117

Nhấn Alt+ D, gõ cmdvà nhấn Enter. Để biết thêm chi tiết xem bài viết blog ở đây .


1
đẹp! tùy chọn khác dường như không hiển thị tùy chọn "cửa sổ lệnh mở ở đây" trừ khi bạn nhấp chuột phải vào thư mục - bên trong thư mục, nó không hiển thị
divillysausages 26/213

1
Lưu ý - Bạn không cần nhấn Alt + d để làm việc này. Tất cả những gì tôi phải làm trong Windows 7 là nhập cmd vào đường dẫn của windows explorer và nhấn enter. Alt + d chỉ tự động chọn đường dẫn hiện tại.
MiniRagnarok

3
Ctrl+Llà một thay thế.
pkr298

1
Đẹp! Đơn giản
Uzumaki Naruto

1
Đây thực sự là câu trả lời đơn giản nhất, cảm ơn bạn!
Alexandre Daubricourt

42

Cách riêng để làm một cái gì đó tương tự trong windows7 là nhấn và giữ shiftchuột phải vào thư mục bạn muốn "nhắc lệnh" và một mục menu mới sẽ xuất hiện trong menu ngữ cảnh của bạn cung cấp cho bạn chính xác: "nhắc lệnh mở ở đây ".

văn bản thay thế

Nếu bạn muốn hành động bàn phím thuần túy thì bạn phải làm điều này:

  • mở regedit
  • đi đến HKEY_CLASSES_ROOT\Directory\shell\cmdvà đổi tên Extendedchìa khóa thànhExtended_save
  • đi đến HKEY_CLASSES_ROOT\Drive\shell\cmdvà đổi tên Extended key toExtended_save`

cái này thêm mục "cửa sổ lệnh mở ở đây" vào menu ngữ cảnh vĩnh viễn. bạn có thể kích hoạt mục này bằng cách nhấn:

  • alt
  • buông tay, menu ngữ cảnh mở ra
  • nhấn ký tự "gạch dưới" của mục nhập "cửa sổ lệnh mở ở đây" hoặc đi xuống bằng các phím con trỏ và nhấn enter

tên của mục menu được in theo ngôn ngữ của hệ điều hành của bạn.

một lộ trình thay thế là để làm điều này:

  • mở thư mục bạn muốn trong dấu nhắc lệnh thông qua trình thám hiểm
  • f4
  • ctrla
  • ctrlc
  • winr
  • cmd /k cd ctrlventer

trong đó lấy đường dẫn hiện tại từ thanh địa chỉ của explorer và thực thi cmd /k cd PATH. với autohotkey bạn có thể làm tương tự, nhưng tôi không biết autohotkey.


Cảm ơn! Tôi biết cách đầu tiên, thậm chí nó đủ đơn giản, tôi vẫn thích cách sử dụng phím tắt. Và cách thứ hai có vẻ hơi phức tạp
Gemili

Thích nó, +1 10 char min
jcollum


3

Kể từ bản cập nhật Windows 10 mới nhất , phương thức Shift+ của answer của Leftium không còn hoạt động. Tuy nhiên, một sửa đổi nhỏ có thể đưa ra cách giải quyết, mặc dù có thêm một vài lần nhấn phím.MenuW

Vấn đề là Command Prompt không còn khả dụng trong Menu Nhấp chuột phải mở rộng. Thay vào đó, bây giờ bạn có Windows Powershell.

Shift+ Menu, Smở Windows Powershell trong thư mục đích. Khi đã vào Windows Powershell, hãy nhập cmdrồi nhấnEnter.

Điều này sẽ cung cấp cho bạn quyền truy cập vào Dấu nhắc Lệnh trong Windows Powershell.

PS

Phương pháp Ctrl+ L, nhập cmdrồi nhấn Entertác phẩm của Ashwin Nanjappa . Tuy nhiên, nó chỉ thanh lịch nếu bạn không có ý định quay lại cửa sổ Windows Explorer để tiếp tục điều hướng giữa các thư mục. Thật không may, phương pháp này đưa con trỏ của bạn trong Windows Explorer ra khỏi cửa sổ chính và yêu cầu một số Tabtổ hợp phím để đưa nó trở lại nơi bạn có thể điều hướng các thư mục bằng các phím mũi tên. Điều này có thể gây bực bội vì có xác nhận trực quan hạn chế khi bạn nhấn các Tabtổ hợp phím đó.

Trong khi Windows Powershell hoạt động theo hầu hết các cách giống hệt với Command Prompt, tôi đã gặp ít nhất một trường hợp trong đó Windows Powershell đã đọc nhầm @tags của tôi (khi tôi đang tạo javadocs) và không tạo ra kết quả mong muốn. Bằng cách nhập cmdrồi vào Enter trong Windows Powershell, bạn có thể sử dụng Dấu nhắc lệnh thay vì khắc phục các sự cố đó.


2

Cách dễ nhất là goto thanh địa chỉ windows explorer và gõ vào cmd, nó sẽ mở ra dấu nhắc lệnh ngay lập tức từ vị trí đó.


Xin vui lòng đọc lại câu hỏi một cách cẩn thận. Câu trả lời của bạn không trả lời câu hỏi ban đầu, yêu cầu một phím tắt .
DavidPostill

1

Tập lệnh AutoHotKey để mở dấu nhắc lệnh bằng phương thức @ Ashwin's

Mở bảng điều khiển Powershell bằng cách sử dụng Win P

#P::
{
    Send !D
    Send powershell
    Send {Enter}    
    return
}

Mở dấu nhắc lệnh bằng cách sử dụng Win C

#C::
{
    Send !D
    Send CMD
    Send {Enter}    
    return
}

Tôi đã thử điều này nhưng nó không mở cmd trong thư mục mở nhưng trongsystem32
MagTun

1

Một tập lệnh AHK đơn giản hơn tập lệnh trong câu hỏi đã chọn

#c::cmdHere()

cmdHere() {
    If WinActive("ahk_class CabinetWClass") || WinActive("ahk_class ExploreWClass") {
        WinHWND := WinActive()
        For win in ComObjCreate("Shell.Application").Windows
            If (win.HWND = WinHWND) {
                dir := SubStr(win.LocationURL, 9) ; remove "file:///"
                dir := RegExReplace(dir, "%20", " ")
                Break
            }
    }
    Run, cmd, % dir ? dir : A_Desktop
}

nguồn từ đây: https://autohotkey.com/boards/viewtopic.php?t=5796


0

Nếu bạn đang sử dụng phiên bản Windows thiếu tiếng Đức, bạn có thể thực hiện việc này:

Nhấn Alt+ D,E

Alt+ Dmở một menu nơi bạn có thể chọn một vài thứ khác ngoài cmd


Alt + D chọn Thanh địa chỉ, không phải menu
Canada Luke

Có vẻ như chỉ hoạt động trên các phiên bản Windows không hoạt động của Đức
foobarbaz 29/07/2015

Chỉnh sửa câu trả lời của bạn sau đó tôi có thể xóa phiếu bầu xuống
Canada Luke

-1

Đối với AHK, sau đây là ràng buộc của tôi:

#c::
Run, C:\Windows\system32\cmd.exe
return

Điều này không mở thư mục hiện tại, nhưng nó rất tiện dụng.

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.