Thêm một .exe vào đường dẫn mặc định mà không cần thêm thư mục


22

Ví dụ: tôi muốn thêm notepad ++ vào PATH của mình, tuy nhiên thư mục cũng chứa uninstall.exevà một số tệp / tệp thực thi khác và tôi không muốn chúng "làm ô nhiễm" đường dẫn của mình. Tôi chỉ có thể thêm một notepad++.exe?

Câu trả lời:


17

Bạn có thể thêm một tập lệnh bó vào một thư mục nằm trong đường dẫn của bạn, trông giống như thế này:

@echo off

:: Notepad++ execution

if [%1]==[-h] goto :HELP
if [%1]==[--help] goto :HELP
if [%1]==[/?] goto :HELP
goto :START

:START
start "" /i "%ProgramFiles(x86)%\notepad++\notepad++.exe" %*
goto :EOF

:HELP
echo -------------------------------
echo Notepad++ Command Argument Help
echo -------------------------------
echo Usage :
echo.
echo notepad++ [--help] [-multiInst] [-noPlugins] [-lLanguage] [-nLineNumber] [-cColumnNumber] [-xPos] [-yPos] [-nosession] [-notabbar] [-ro] [-systemtray] [-loadingTime] [fullFilePathName]
echo.
echo     --help : This help message
echo     -multiInst : Launch another Notepad++ instance
echo     -noPlugins : Launch Notepad++ without loading any plugin
echo     -l : Launch Notepad++ by applying indicated language to the file to open
echo     -n : Launch Notepad++ by scrolling indicated line on the file to open
echo     -c : Launch Notepad++ on scrolling indicated column on the file to open
echo     -x : Launch Notepad++ by indicating its left side position on the screen
echo     -y : Launch Notepad++ by indicating its top position on the screen
echo     -nosession : Launch Notepad++ without any session
echo     -notabbar : Launch Notepad++ without tabbar
echo     -ro : Launch Notepad++ and make the file to open read only
echo     -systemtray : Launch Notepad++ directly in system tray
echo     -loadingTime : Display Notepad++ loading time
echo     -alwaysOnTop : Make Notepad++ always on top
echo     fullFilePathName : file name to open (absolute or relative path name)
echo.
goto :EOF

:EOF

Bạn có thể đặt tên cho nó notepad++.cmd. Phần trợ giúp cho phép bạn dễ dàng lấy thông tin về các công tắc.

Tôi đặt tất cả các tập lệnh và chương trình dòng lệnh như vậy vào một thư mục được thêm vào %PATH%: C:\Users\Public\Command\ ... và thư mục đó được đồng bộ hóa với tất cả các máy tính và máy ảo.


8

Tạo một tệp bó với nội dung như sau:

@"C:\Program Files\Git\bin\git.exe" %*

Điều này nên được lưu dưới dạng một .battập tin, chẳng hạn như git.battrong một thư mục trong đó PATH.

@đàn áp tiếng vang lệnh vào vỏ gọi. Các trích dẫn ""ngăn không gian trắng được hiểu là các dấu phân cách đối số. %*thay vào đó dán bất kỳ đối số nào vào tệp bó, để thực thi được trích dẫn.

Bây giờ bạn có thể gọi tệp thực thi bằng cách sử dụng một phần của tên tệp bó trước đó .bat. Trong trường hợp của tôi , git.

Tài liệu tham khảo:


Đối với nhiều chương trình sẽ treo CMD cho đến khi bạn đóng nó. Bạn cần sử dụng startđể tránh điều đó, như thể hiện trong câu trả lời của tôi.
paradroid

@paradroid: Cảm ơn, nhưng đó là hành vi thiết bị đầu cuối tiêu chuẩn để vẫn gắn bó với phụ huynh trừ khi được hỏi. Người dùng nên làm start githơn là làm cho họ. Tập lệnh bó sẽ hoạt động tốt hơn nếu nó execđi vào quy trình được yêu cầu nhưng điều này không thể thực hiện được trên Windows: serverfault.com/questions/315077/ . Tôi có thể trả trước callnhưng nó sẽ là vô nghĩa và chủ yếu là vô nghĩa.
Matt Joiner

3

Kéo một phím tắt notepad++.exeđến C:\Windows\System32.


Ngoài ra, như được đề xuất bởi @Synetech inc., Bạn có thể đặt các phím tắt của mình trong một thư mục riêng (ví dụ C:\Shortcuts), sau đó thêm thư mục đó vào %PATH%:

setx PATH "%PATH%;C:\Shortcuts"

Như một số ý kiến ​​chỉ ra, điều này chỉ hoạt động từ hộp thoại Run. Để có được các phím tắt để khởi chạy từ một dấu nhắc lệnh, bạn cần thêm phần mở rộng lối tắt (.LNK) vào biến môi trường PATHEXT của bạn.

setx PATHEXT %pathext%;.LNK

Tài liệu tham khảo:

Làm cách nào để khởi động ứng dụng dễ dàng với hộp thoại Run?


1
Đây là giải pháp ưa thích (trái ngược với tệp bó); tạo một lối tắt đến nó trong một thư mục (khác) trong đường dẫn mà không làm ô nhiễm các thư mục của Windows! Tôi có một thư mục đặc biệt cho mục đích này được gọi là Shortcuts.
Synetech

1
Đó là cú pháp sai cho setx. Bạn không sử dụng dấu bằng và IIRC, bạn cần đặt toàn bộ đường dẫn trong dấu ngoặc kép, nếu dòng điện %PATH%có khoảng trắng trong đó (sẽ có dấu cách).
paradroid

Và không SETXsử dụng dấu ngã cho các biến thay vì phần trăm để tránh mở rộng chúng? Tôi biết rằng một số công cụ cài đặt env-var thực hiện
BẠC

2
Điều này không hoạt động. Theo mặc định (tôi đang kéo git.exe), "git - Shortcut", đổi tên này thành các kết hợp của "git.exe", "git", "git.cmd", v.v. không có hiệu lực. Nó sẽ không thừa nhận các phím tắt.
Matt Tham gia

3
Điều này chỉ hoạt động khi gọi từ Run Ashộp thoại, nó không hoạt động từ dấu nhắc lệnh.
Matt Joiner

1

Chỉ cần tạo một liên kết tượng trưng bằng cách sử dụng mklinktrong một thư mục trong Đường dẫn.

ví dụ: (trong dấu nhắc lệnh của Quản trị viên)

mklink "C:\Users\Me\Documents\Paths\np.exe" "C:\Program Files (x86)\Notepad++\notepad++.exe"

0

Khóa sổ đăng ký Đường dẫn ứng dụng thực hiện chính xác điều này: đặt đường dẫn thành notepad ++. Exe thành "\ chương trình tệp \ ..." và bạn sẽ có thể khởi chạy nó từ Start-Run, cmd, ... giống như bất kỳ tệp thực thi nào từ một thư mục trong% PATH%.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

Tham khảo: /programming/4822400/register-an-exe-so-you-can-run-it-from-any-command-line-in-windows


Điều này sẽ không làm cho nó có thể thực thi được từ cmd - chỉ từ khi bắt đầu chạy hoặc trong cmd, bạn phải thêm tiền tố vào "bắt đầu" như trong "start myapp.exe"
Tahir Hassan

Lệnh Nhắc điều này, đã đồng ý, thiếu khả năng nhận ra biến này. PowerShell không nhận ra nó. Giải pháp này, quan trọng hơn, chỉ áp dụng cho thư mục, và do đó, lạc đề.
Todd Partridge

0

Tôi không thích bất kỳ giải pháp nào được trình bày ở đây, vì vậy tôi đã thử một thứ khác.

  1. Cài đặt phần mở rộng vỏ liên kết (thông tin thêm ở đây )

  2. Tạo một thư mục ở đâu đó để lưu trữ tất cả các phím tắt của bạn như Marteen gợi ý và thêm nó vào %PATH%. Tôi đã tạo C:\Shortcutsvà sử dụng Trình soạn thảo môi trường nhanh để thêm nó vào PATH của mình.

  3. Bấm chuột phải vào tệp bạn muốn thêm vào đường dẫn của mình (trong Explorer) và bấm "Chọn nguồn liên kết"

  4. Nhấp chuột phải vào thư mục bạn vừa tạo và nhấp Drop As > Symbolink Link.

  5. Đổi tên liên kết Symbolink nếu bạn muốn.

Đó là nó. Bây giờ bạn có thể truy cập chương trình của mình thông qua dòng lệnh. Nếu bạn vừa thêm thư mục mới vào PATH, bạn sẽ phải khởi động lại cmd.exe hoặc Cmder hoặc ConEmu hoặc bất cứ thứ gì bạn đang sử dụng. Sau đó, bạn có thể thêm các chương trình mới mà không cần khởi động lại.

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.