निर्देशिका को जोड़े बिना डिफ़ॉल्ट पथ में एक -exe जोड़ना


22

उदाहरण के लिए, मैं अपने पीएटीएच में नोटपैड ++ जोड़ना चाहता हूं, हालांकि निर्देशिका में uninstall.exeकई अन्य फाइलें / निष्पादन योग्य भी हैं और मैं उन्हें अपने पथ को "प्रदूषित" नहीं करना चाहता। क्या मैं सिर्फ एक जोड़ सकता हूं notepad++.exe?

जवाबों:


17

आप एक बैच स्क्रिप्ट को उस निर्देशिका में जोड़ सकते हैं जो आपके मार्ग में है, जो कुछ इस तरह दिखती है:

@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

आप इसे नाम दे सकते हैं notepad++.cmd। सहायता अनुभाग आपको स्विचेस पर आसानी से जानकारी प्राप्त करने की अनुमति देता है।

मैंने ऐसी सभी स्क्रिप्ट्स और कमांड लाइन प्रोग्राम्स को एक डायरेक्टरी में रखा है, जिसे इसमें जोड़ा गया है %PATH%: C:\Users\Public\Command\ ... और वह डायरेक्टरी सभी कंप्यूटरों और वर्चुअल मशीनों के लिए सिंक होती है।


8

निम्नलिखित की तरह सामग्री के साथ एक बैच फ़ाइल बनाएँ:

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

इसे एक .batफ़ाइल के रूप में सहेजा जाना चाहिए , जैसे git.batकि एक निर्देशिका में जो आपके में है PATH

@दमन को शेल के कमांड को गूंजता है। उद्धरणों ""को तर्क परिसीमा के रूप में व्याख्या किए जाने वाले सफेद स्थान को रोका जाता है। %*इसके बजाय उद्धृत निष्पादन योग्य के लिए बैच फ़ाइल में कोई भी तर्क देता है।

अब आप पहले बैच फ़ाइल नाम के भाग का उपयोग करके निष्पादन योग्य को लागू कर सकते हैं .bat। मेरे मामले में, git

संदर्भ:


कई कार्यक्रमों के लिए जो आपको बंद करने तक सीएमडी को लटकाएंगे। आपको उससे startबचने के लिए उपयोग करने की आवश्यकता है, जैसा कि मेरे उत्तर में दिखाया गया है।
विरोधाभास

@ अपरैड: धन्यवाद, लेकिन यह माता-पिता से जुड़े रहने के लिए मानक टर्मिनल व्यवहार है जब तक कि पूछा न जाए। उपयोगकर्ता को start gitउनके बजाय यह करना चाहिए था। यदि यह execअनुरोधित प्रक्रिया में शामिल है तो बैच स्क्रिप्ट बेहतर कार्य करेगा लेकिन यह विंडोज़ पर संभव नहीं है: serverfault.com/questions/315077/ ? मैं प्रीपेंड कर सकता था callलेकिन यह पांडित्यपूर्ण होगा और ज्यादातर व्यर्थ होगा।
मैट जॉइनर

3

करने के notepad++.exeलिए एक शॉर्टकट खींचें C:\Windows\System32


वैकल्पिक रूप से, जैसा कि @Synetech inc। द्वारा सुझाया गया है, आप अपने शॉर्टकट को अलग निर्देशिका (जैसे C:\Shortcuts) में रख सकते हैं , और फिर उस निर्देशिका को इसमें जोड़ सकते हैं %PATH%:

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

जैसा कि कुछ टिप्पणियों से संकेत मिलता है, यह केवल रन डायलॉग से काम करता है। कमांड प्रॉम्प्ट से लॉन्च करने के लिए शॉर्टकट प्राप्त करने के लिए, आपको अपने पथ पर्यावरण चर में शॉर्टकट एक्सटेंशन (.LNK) को जोड़ना होगा।

setx PATHEXT %pathext%;.LNK

संदर्भ:

मैं रन डायलॉग बॉक्स के साथ आसानी से एप्लिकेशन कैसे शुरू कर सकता हूं?


1
यह पसंदीदा समाधान है (एक बैच फ़ाइल के विपरीत); पथ में एक (अलग) निर्देशिका में इसके लिए एक शॉर्टकट बनाएं- विंडोज की निर्देशिकाओं को प्रदूषित न करें! मेरे पास विशेष रूप से इस उद्देश्य के लिए एक फ़ोल्डर है Shortcuts
Synetech

1
इसके लिए गलत सिंटैक्स है setx। आप एक समान चिह्न का उपयोग नहीं करते हैं, और IIRC, आपको उद्धरण में पूरे पथ को संलग्न करने की आवश्यकता है, यदि वर्तमान में %PATH%इसमें रिक्त स्थान है (जो यह होगा)।
रात 11:51 बजे परेड

और SETXविस्तार करने से बचने के लिए पर्केंट्स के बजाय चर के लिए टिल्ड का उपयोग नहीं करता है? मुझे पता है कि कुछ
env-

2
यह काम नहीं करता है। डिफ़ॉल्ट रूप से (मैं git.exe खींच रहा हूं), "git - शॉर्टकट", इसे "git.exe", "git", "git.cmd" आदि के संयोजनों का नाम देने से कोई प्रभाव नहीं पड़ता है। यह शॉर्टकट स्वीकार नहीं करेगा।
मैट जॉइनर

3
यह केवल Run Asडायलॉग से आह्वान करने पर काम करता है , यह कमांड प्रॉम्प्ट से काम नहीं करता है।
मैट जॉइनर

1

बस एक बनाने के प्रतीकात्मक कड़ी का उपयोग कर mklinkपथ में एक फ़ोल्डर में।

उदाहरण के लिए (प्रशासक कमांड प्रॉम्प्ट में)

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

0

ऐप पाथ्स की रजिस्ट्री की कुंजी बिल्कुल यही करती है: नोटपैड + के लिए पथ सेट करें। "\ _" प्रोग्राम फाइल्स \ "पर जाएं। और आप इसे स्टार्ट-रन, सीएमडी, ... जैसे किसी भी निष्पादन योग्य से लॉन्च कर पाएंगे। % PATH% में एक निर्देशिका।

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

संदर्भ: /programming/4822400/register-an-exe-so-you-can-run-it-from-any-command-line-in-windows


यह इसे cmd से निष्पादन योग्य नहीं बनाएगा - केवल स्टार्ट-रन से, या cmd में आपको इसे "स्टार्ट" के साथ "प्री-स्टार्ट myapp.exe" के रूप में उपसर्ग करना होगा
ताहिर हसन

कमांड प्रॉम्प्ट यह सहमत है, इस चर को पहचानने की क्षमता का अभाव है। PowerShell इसे पहचानता है। यह समाधान, अधिक महत्वपूर्ण बात, केवल निर्देशिका पर लागू होता है, और इसलिए, विषय से।
टॉड पार्ट्रिज

0

मुझे यहाँ प्रस्तुत कोई भी समाधान पसंद नहीं आया, इसलिए मैंने कुछ और करने की कोशिश की।

  1. लिंक शेल एक्सटेंशन स्थापित करें (अधिक जानकारी यहां )

  2. अपने सभी शॉर्टकट स्टोर करने के लिए कहीं एक फ़ोल्डर बनाएं जैसे कि मार्टीन सुझाव देता है और इसे अपने में जोड़ें %PATH%। मैंने अपने PATH में इसे जोड़ने के लिए रैपिड एनवायरनमेंट एडिटर बनाया C:\Shortcutsऔर इस्तेमाल किया ।

  3. उस फ़ाइल को राइट-क्लिक करें जिसे आप अपने रास्ते में जोड़ना चाहते हैं (एक्सप्लोरर में) और "पिक सोर्स चुनें" पर क्लिक करें

  4. आपके द्वारा अभी बनाए गए फ़ोल्डर में राइट-क्लिक करें और क्लिक करें Drop As > Symbolink Link

  5. यदि आप चाहते हैं कि प्रतीकात्मक लिंक का नाम बदलें।

बस। अब आपको अपने प्रोग्राम को कमांड-लाइन के माध्यम से एक्सेस करने में सक्षम होना चाहिए। यदि आपने अपने PATH में सिर्फ नया फ़ोल्डर जोड़ा है, तो आपको cmd.exe या Cmder या ConEmu या जो भी आप इसका उपयोग करते हैं, उसे पुनः आरंभ करना होगा। उसके बाद, आप पुनः आरंभ किए बिना नए प्रोग्राम जोड़ सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.