Örneğin, PATH'ime notepad ++ eklemek istiyorum, ancak dizin ayrıca uninstall.exe
ve birkaç başka dosya / çalıştırılabilir dosya içeriyor ve yolumu "kirletmelerini" istemiyorum. Sadece bir tane ekleyebilir miyim notepad++.exe
?
Örneğin, PATH'ime notepad ++ eklemek istiyorum, ancak dizin ayrıca uninstall.exe
ve birkaç başka dosya / çalıştırılabilir dosya içeriyor ve yolumu "kirletmelerini" istemiyorum. Sadece bir tane ekleyebilir miyim notepad++.exe
?
Yanıtlar:
Toplu yol komut dosyasını, yolunuzdaki dizine, buna benzer bir şey ekleyebilirsiniz:
@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
Adını yazabilirsin notepad++.cmd
. Yardım bölümü, anahtarlar hakkında kolayca bilgi almanızı sağlar.
Tüm bu komut dosyalarını ve komut satırı programlarını şuna eklenmiş bir dizine koydum %PATH%
:
C:\Users\Public\Command\
... ve bu dizin tüm bilgisayarlara ve sanal makinelere eşitlendi.
Aşağıdaki gibi içeriğe sahip bir toplu iş dosyası oluşturun:
@"C:\Program Files\Git\bin\git.exe" %*
Bu .bat
, git.bat
içinde bulunan bir dizindeki gibi bir dosya olarak kaydedilmelidir PATH
.
@
komutu istila kabuğuna yankılanmasını engeller. Alıntılar, ""
boşlukların argüman sınırlayıcıları olarak yorumlanmasını önler. %*
argümanları toplu iş dosyasına, bunun yerine alıntı yapılan yürütülebilir dosyaya yapıştırır.
Şimdi daha önce toplu iş dosyası adının bir bölümünü kullanarak yürütülebilir dosyayı çalıştırabilirsiniz .bat
. Benim durumumda git
,.
Referanslar:
start git
onlar için yapmaktan çok yapmalı. Toplu komut dosyası exec
, istenen işleme dahil edilirse daha iyi davranır , ancak bu Windows'ta mümkün değildir: serverfault.com/questions/315077/… . Hazırlanabilirdim call
ama bilgiçlik taslayan ve çoğunlukla anlamsız olurdu.
Bir kısayol için sürükleyin notepad++.exe
için C:\Windows\System32
.
Alternatif olarak, @Synetech inc. Tarafından önerildiği gibi, kısayollarınızı ayrı bir dizine (örn. C:\Shortcuts
) Yerleştirebilir ve ardından bu dizini şuraya ekleyebilirsiniz %PATH%
:
setx PATH "%PATH%;C:\Shortcuts"
Yorumların bazılarının gösterdiği gibi, bu yalnızca Çalıştır iletişim kutusundan çalışır. Kısayolların komut isteminden başlatılmasını sağlamak için, PATHEXT ortam değişkeninize kısayol uzantısını (.LNK) eklemeniz gerekir.
setx PATHEXT %pathext%;.LNK
Referanslar:
Çalıştır iletişim kutusuyla uygulamaları nasıl kolayca başlatabilirim?
Shortcuts
.
setx
. Eğer bir eşittir işareti kullanmazsınız ve IIRC'de eğer akımın %PATH%
içinde boşluklar varsa bütün yolu tırnak işaretleri içine almanız gerekir .
SETX
bunları genişletmekten kaçınmak için değişkenler için yüzdeleri yerine tildleri kullanmaz mı? Bazı env-var ayar araçlarının yaptığını biliyorum…
Run As
iletişim kutusundan çağrılırken çalışır , komut isteminden çalışmadı.
Sadece Yoldaki bir klasörü kullanarak sembolik bir bağlantı oluşturun mklink
.
örneğin (Yönetici komut isteminde)
mklink "C:\Users\Me\Documents\Paths\np.exe" "C:\Program Files (x86)\Notepad++\notepad++.exe"
App Paths kayıt defteri anahtarı tam olarak bunu yapar: yolu notepad ++. Exe "\ program files \ ..." olarak ayarlayın ve Başlat-Çalıştır, cmd, ... 'dan başlatılabilir % PATH% içindeki bir dizini.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
Referans: /programming/4822400/register-an-exe-so-you-can-run-it-from-any-command-line-in-windows
Burada sunulan çözümlerin hiçbirini beğenmedim, bu yüzden başka bir şey denedim.
Bağlantı kabuğu uzantısını yükle (daha fazla bilgi burada )
Marteen’in önerdiği gibi tüm kısayollarınızı saklamak için bir klasör oluşturun ve bunları ekleyin %PATH%
. PATH'e eklemek için Rapid Environment Editor'ı oluşturdum C:\Shortcuts
ve kullandım .
Yolunuza eklemek istediğiniz dosyayı sağ tıklayın (Explorer'da) ve "Bağlantı Kaynağını Seç" i tıklayın.
Yeni oluşturduğunuz klasörü sağ tıklayın ve tıklayın Drop As > Symbolink Link
.
İsterseniz symbolink bağlantısını yeniden adlandırın.
Bu kadar. Programınıza şimdi komut satırı üzerinden erişebilmelisiniz. Yeni klasörü PATH'inize yeni eklediyseniz, cmd.exe veya Cmder veya ConEmu ya da ne kullanıyorsanız onu yeniden başlatmanız gerekir. Bundan sonra, yeniden başlatmadan yeni programlar ekleyebilirsiniz.
start
gösterildiği gibi bunu önlemek için kullanmanız gerekir .