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.exe
và 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
?
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.exe
và 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:
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.
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 .bat
tập tin, chẳng hạn như git.bat
trong 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:
start git
hơ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 call
nhưng nó sẽ là vô nghĩa và chủ yếu là vô nghĩa.
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?
Shortcuts
.
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).
SETX
sử 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
Run As
hộp thoại, nó không hoạt động từ dấu nhắc lệnh.
Chỉ cần tạo một liên kết tượng trưng bằng cách sử dụng mklink
trong 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"
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
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.
Cài đặt phần mở rộng vỏ liên kết (thông tin thêm ở đây )
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:\Shortcuts
và sử dụng Trình soạn thảo môi trường nhanh để thêm nó vào PATH của mình.
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"
Nhấp chuột phải vào thư mục bạn vừa tạo và nhấp Drop As > Symbolink Link
.
Đổ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.
start
để tránh điều đó, như thể hiện trong câu trả lời của tôi.