Windows कमांड प्रॉम्प्ट में उपनाम


358

मैंने notepad++.exeपर्यावरण चर में अपने पथ में जोड़ा है।

अब कमांड प्रॉम्प्ट में, notepad++.exe filename.txtखोलता है filename.txt। लेकिन मैं केवल np filename.txtफ़ाइल खोलने के लिए करना चाहता हूं ।

मैंने प्रयोग करने की कोशिश की DOSKEY np=notepad++। लेकिन यह सिर्फ फाइल को खोले बिना पहले से ही खोले नोटपैड ++ में सबसे आगे ला रहा है। मैं इसे फ़ाइल को कैसे खोल सकता हूँ?

धन्यवाद।


2
निष्पादन योग्य नाम को अपनी इच्छित चीज़ में बदलें। आप फ़ाइल एक्सप्लोरर से ऐसा कर सकते हैं!
इगोरगानपोलस्की

जवाबों:


441

जोश के जवाब में जोड़ने के लिए,

आप निम्न चरणों के साथ उपनाम (तों) लगातार बना सकते हैं ,

  1. अपने DOSKEYकमांड के साथ -bat या .cmd फ़ाइल बनाएँ ।
  2. Regedit चलाएं और जाएं HKEY_CURRENT_USER\Software\Microsoft\Command Processor
  3. नाम AutoRunऔर अपनी .bat / .cmd फ़ाइल के पूर्ण पथ के साथ स्ट्रिंग मान प्रविष्टि जोड़ें ।

    उदाहरण के लिए, कई मशीनों के बीच समन्वय के लिए %USERPROFILE%\alias.cmdपथ के प्रारंभिक खंड को बदलना %USERPROFILE%उपयोगी है।

इस तरह, हर बार cmd चलाया जाता है, उपनाम लोड किए जाते हैं।

विंडोज 10 के लिए , HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processorइसके बजाय प्रविष्टि जोड़ें ।

पूर्णता के लिए, यहाँ एक प्रकार का उपनाम बताने के लिए एक टेम्पलेट है जो एक उपयोगी हो सकता है।

@echo off

:: Temporary system path at cmd startup

set PATH=%PATH%;"C:\Program Files\Sublime Text 2\"

:: Add to path by command

DOSKEY add_python26=set PATH=%PATH%;"C:\Python26\"
DOSKEY add_python33=set PATH=%PATH%;"C:\Python33\"

:: Commands

DOSKEY ls=dir /B
DOSKEY sublime=sublime_text $*  
    ::sublime_text.exe is name of the executable. By adding a temporary entry to system path, we don't have to write the whole directory anymore.
DOSKEY gsp="C:\Program Files (x86)\Sketchpad5\GSP505en.exe"
DOSKEY alias=notepad %USERPROFILE%\Dropbox\alias.cmd

:: Common directories

DOSKEY dropbox=cd "%USERPROFILE%\Dropbox\$*"
DOSKEY research=cd %USERPROFILE%\Dropbox\Research\

  • ध्यान दें कि $*सिंटैक्स एक निर्देशिका स्ट्रिंग के साथ-साथ एक निष्पादन योग्य के बाद काम करता है जो तर्कों में लेता है। इसलिए उपरोक्त उदाहरण में, उपयोगकर्ता-परिभाषित कमांड dropbox researchउसी निर्देशिका को इंगित करता है research
  • जैसा कि रिवेनफॉल ने बताया, एक कमांड को शामिल करना एक अच्छा विचार है जो alias.cmdफ़ाइल के सुविधाजनक संपादन के लिए अनुमति देता है । ऊपर देखें alias। यदि आप एक cmd सत्र में हैं, तो cmdcmd को पुनरारंभ करें और alias.cmdफ़ाइल को पुनः लोड करें ।

जब मैंने प्रश्न के उत्तर के लिए इंटरनेट पर खोज की, तो किसी भी तरह की चर्चा या तो केवल दृढ़ता पर या केवल डॉसिएन के कुछ उपयोग पर केंद्रित थी। मुझे आशा है कि किसी को इन दो पहलुओं के यहाँ एक साथ होने से लाभ होगा!


.regआपको स्थापित करने में मदद करने के लिए यहां एक फ़ाइल है alias.cmd। यह अब एक ड्रॉपबॉक्स फ़ोल्डर के लिए एक उदाहरण के रूप में सेट किया गया है जैसा कि ऊपर बताया गया है।

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"AutoRun"="%USERPROFILE%\\alias.cmd"

एकल-उपयोगकर्ता अनुप्रयोगों के लिए, उपरोक्त कार्य करेगा। फिर भी, ऐसी परिस्थितियां हैं जहां यह जांचना आवश्यक है कि क्या alias.cmdरजिस्ट्री कुंजी में पहले मौजूद है। नीचे उदाहरण देखें।

एक में C:\Users\Public\init.cmdफ़ाइल संभवतः पार उपयोगकर्ता विन्यास होस्टिंग:

@ECHO OFF
REM Add other configurations as needed
IF EXIST "%USERPROFILE%\alias.cmd" ( CALL "%USERPROFILE%\alias.cmd" )

फ़ाइल C:\Users\Public\init.cmdका उपयोग करते हुए, रजिस्ट्री कुंजी को या उसके अनुरूप अद्यतन किया जाना चाहिए .reg:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"AutoRun"="C:\\Users\\Public\\init.cmd"

2
वास्तव में मुझे क्या चाहिए; अच्छी तरह से काम; मैं वास्तव में env.cmd फ़ाइल को संपादित करने के लिए एक डॉसकी जोड़ने की सलाह देता हूं
Rivenfall

8
यह भोला और अक्षम है। systemफ़ंक्शन सहित, cmd.exe के हर उदाहरण के लिए ऑटोरन बैच फ़ाइल चलाई जाएगी । यदि एक निश्चित चर (उदाहरण AUTORUN) को परिभाषित किया गया है, तो इसे बाहर निकलने की आवश्यकता है। अन्यथा पर्यावरण ( set AUTORUN=1) सेट करें और प्रत्येक उपनाम को परिभाषित करने के लिए doskey.exe चलाने के बजाय मैक्रोफ़ाइल विकल्प का उपयोग करके एकल पास में डॉसकी सेट करें।
एरिक सन

4
@eryksun आप कम भोले उदाहरण के लिए पोस्ट या लिंक कर सकते हैं? मुझे पता है कि अगर ऑटोरन को परिभाषित किया गया है तो कैसे बाहर निकलें, लेकिन पहले से ही सीएमडी को चलाने के बिना इसे कैसे सेट या अनसेट करना है, इस पर उलझन है।
मैट विल्की

3
HKEY_CURRENT_USER\Software\Microsoft\Command Processorवर्तमान में क्या प्रतिस्थापन है? मैं अब और regedit में उस पथ को खोजने के लिए नहीं कर पा रहे
जनवरी

4
यह मुझे पंसद है। इसी तरह का विकल्प ऑटोरन में डालना है doskey /macrofile="%USERPROFILE%\alias":। और इसके बाद एलियास को 'डोज़की' भाग के बिना 'उपनाम' फ़ाइल में डालें। एक समाधान एक व्यवस्थापक एक उपयोगकर्ता स्वयं कर सकता है उपनाम करने के लिए ऑटोरन परिभाषाओं को प्रतिबंधित करने के लिए उपयोग कर सकता है। उपयोगकर्ताओं को अन्य सामानों से ऑटोरेंगलिंग से रोकना।
user1708042

237

आपको मापदंडों को पारित करने की आवश्यकता है, यह प्रयास करें:

doskey np=notepad++.exe $*

संपादित करें (रोमोनोव की टिप्पणी का जवाब देते हुए) प्रश्न: क्या कोई तरीका है जिससे मैं कमांड प्रॉम्प्ट को याद रख सकता हूं इसलिए मुझे हर बार जब मैं एक नया कमांड प्रॉम्प्ट खोलता हूं तो मुझे इसे चलाने की आवश्यकता नहीं है?

doskey एक शाब्दिक कमांड है जिसे कमांड प्रोसेसर द्वारा समझा जाता है (जैसे cmd.exe), यह किसी अन्य प्रक्रिया में राज्य को संशोधित करने का पता नहीं लगा सकता है (विशेष रूप से एक जो अभी तक शुरू नहीं हुआ है)।

जो लोग doskeyअपने प्रारंभिक कमांड शेल वातावरण को सेटअप करने के लिए उपयोग करते हैं, वे आमतौर पर /Kबैच फ़ाइल को चलाने के लिए विकल्प (अक्सर शॉर्टकट के माध्यम से) का उपयोग करते हैं जो सभी सामान्य सेटअप (जैसे- विंडो का शीर्षक, रंग, आदि) सेट करता है।

cmd.exe /K env.cmd

env.cmd:

title "Foo Bar"
doskey np=notepad++.exe $*
...

7
यह कमांड प्रॉम्प्ट के लिए काम करता है जिसमें मैं यह कमांड चलाता हूं। लेकिन अगर मैं खिड़की बंद करता हूं और एक नया कमांड प्रॉम्प्ट खोलता हूं। यह एनपी कमांड याद नहीं है। क्या ऐसा कोई तरीका है जिससे मैं कमांड प्रॉम्प्ट को याद रख सकूँ, इसलिए मुझे हर बार जब मैं एक नया कमांड प्रॉम्प्ट खोलता हूं तो मुझे इसे चलाने की ज़रूरत नहीं है?
रोमोनोव

5
पथ बदलने के बिना एक ही व्यवहार:doskey npp="C:\Program Files (x86)\Notepad++\notepad++.exe" $*
मैट बिएनर

5
doskey.exe का cmd.exe से कोई लेना-देना नहीं है। यह कंसोल के लिए वर्तमान या निर्दिष्ट निष्पादन योग्य के लिए एक उपनाम सेट करता है, जिसे conhost.exe के उदाहरण द्वारा होस्ट किया जाता है। कंसोल अलायसेस को मेल किया जाता है और क्लाइंट एप्लिकेशन से पहले इनपुट की एक पंक्ति की शुरुआत में प्रतिस्थापित किया जाता है (जैसे cmd.exe या powerhell.exe) लाइन पढ़ता है। उन्हें कमांड के रूप में उदारतापूर्वक उपयोग नहीं किया जा सकता है, जैसे कि बैच फ़ाइलों में या पाइप में नहीं।
एरिक सन

नमस्ते, मैंने इसका उपयोग cmder के साथ phpstorm खोलने के लिए किया है ... यह phpstorm को खोलता है, लेकिन यह मेरी पिछली खोली गई परियोजना को खोलता रहता है, न कि वर्तमान में जिस प्रोजेक्ट निर्देशिका को मैं देख रहा हूँ ... मैं इसे किससे खोलने के लिए प्राप्त करता हूँ?
पीए-जीडब्ल्यू

113

यदि आप कुछ सरल आदेशों के लिए जा रहे हैं, तो आप इन चरणों का पालन कर सकते हैं:

  1. C: \ Aliases नामक एक फ़ोल्डर बनाएँ
  2. जोड़े C: \ उपनाम अपने पथ पर (उस में किसी भी फाइल हर बार मिल जाएगा तो)
  3. प्रत्येक एलियास के लिए C: \ Aliases में एक .bat फ़ाइल बनाएँ

शायद overkill, लेकिन (अन्यथा उत्कृष्ट) के विपरीत @Argyll से, यह हर बार इस लोडिंग की समस्या को हल करता है।

उदाहरण के लिए, मेरे पास dig2.bat नामक एक फाइल है जिसमें निम्नलिखित हैं:

@echo off
echo.
dig +noall +answer %1

आपकी np फाइल में बस निम्नलिखित होंगे:

@echo off
echo.
notepad++.exe %1

तो बस अपने PATH पर्यावरण चर में C: \ Aliases फ़ोल्डर जोड़ें । यदि आपके पास पहले से ही सीएमडी या पॉवरशेल है तो आपको इसे पुनः आरंभ करने की आवश्यकता होगी।

FWIW, मेरी C: \ Aliases निर्देशिका में मेरे पास लगभग 20 उपनाम (अलग .bat फाइलें) हैं - मैं केवल नए लोगों को आवश्यक बनाता हूं। शायद सबसे साफ नहीं है, लेकिन यह ठीक काम करता है।

अद्यतन : उपयोगकर्ता @Mav से एक उत्कृष्ट सुझाव के अनुसार, % 1 के बजाय % * का उपयोग करना बेहतर है , इसलिए आप कमांड में कई फाइलें पास कर सकते हैं, जैसे:

@echo off
echo.
notepad++.exe %*

इस तरह, आप ऐसा कर सकते हैं:

np c:\temp\abc.txt c:\temp\def.txt c:\temp\ghi.txt

और यह सभी 3 फाइलें खोलेगा।


4
मैं व्यक्तिगत रूप से लंबे समय तक इस पद्धति का उपयोग करता हूं। यह एक ऐसी बहुत आसान विधि है अगर कोई व्यक्ति रास्ते पर नहीं जाना चाहता है doskey
बंता

4
इस विधि का एक फायदा (एलियाड के रूप में सीएमडी फाइलें) यह है कि यदि आप डब्ल्यूएसएल (विंडोज के लिए लिनक्स सबसिस्टम) का उपयोग करते हैं, तो ये सीड्स बाश में भी उपलब्ध हैं। हालांकि अक्सर (आप क्या कर रहे हैं निर्भर करता है) आप cmd फ़ाइल कॉल करने से पहले wslpath.sh या इसी तरह का उपयोग करके कुछ पथ हेरफेर करने की आवश्यकता है
एलेक्स पेरी

1
@roryhewitt ओह हाँ, पूर्ण पथ निर्दिष्ट ls.exeकरना चाहिए निश्चित रूप से काम करना चाहिए। अच्छी बात। मैंने हालांकि डॉसकी विकल्प का उपयोग किया है।
क्वर्टी

4
सभी तर्कों में पास होने के लिए% 1 के बजाय% * जोड़ना चाहते हैं, जैसा कि पहले था।
माव

1
महान! अब मेरे पास इसे स्थापित करने की आवश्यकता के बिना PHP हो सकता है, बस डॉक करने और जोड़ने के लिए डेविलबॉक्स का उपयोग कर रहा हैdocker exec --user devilbox dvlbx_php_1 php %*
अल्वारो फ्लैनियो लारोनडो

38

वैकल्पिक रूप से आप उपयोग कर सकते हैं cmderजो आपको linux की तरह ही उपनाम जोड़ने देता है:

alias subl="C:\Program Files\Sublime Text 3\subl.exe" $*

12
हालांकि यह सवाल का जवाब नहीं देता है। लिनक्स पृष्ठभूमि के लोगों के लिए यह समझना महत्वपूर्ण है कि विंडोज सीएमडी का एक विकल्प है जो उनकी तत्काल आवश्यकताओं के अनुरूप हो सकता है।
जोसेफ केसी

1
काफी कुछ विकल्प हैं। विंडोज के लिए गिट एक, "गिट-बैश" के साथ आता है।
23

Cmder में अन्य नाम जोड़ने के लिए, यहां एक उदाहरण देखें ।
jdhao

नमस्ते, मैंने इसका उपयोग cmder के साथ phpstorm खोलने के लिए किया है ... यह phpstorm को खोलता है, लेकिन यह मेरी पिछली खोली गई परियोजना को खोलता रहता है, न कि वर्तमान में जिस प्रोजेक्ट निर्देशिका को मैं देख रहा हूँ ... मैं इसे किससे खोलने के लिए प्राप्त करता हूँ?
पीए-जीडब्ल्यू

29

यह देखते हुए कि आपने नोटपैड ++ को जोड़ा है। अपने पैथ वेरिएबल से बाहर निकलें, यह अतिरिक्त सरल है। अपने System32 फोल्डर में एक फाइल बनाएं जिसे np.batनिम्नलिखित कोड के साथ कहा जाता है :

@echo off
call notepad++.exe %*

%*गुजरता सभी तर्कों के साथ आप दे npकरने के लिए आदेश notepad++.exeआदेश।

संपादित करें: आपको System32 फ़ोल्डर में फ़ाइलों को सहेजने के लिए व्यवस्थापक अभिगम की आवश्यकता होगी, जो मेरे लिए थोड़ा बहुत अस्थिर था। मैंने अभी फाइल कहीं और बनाई है और इसे System32 में मैन्युअल रूप से स्थानांतरित कर दिया है।


मेरे पास पहले से ही थोड़ी .bat यूटिलिटी फाइल्स का एक फोल्डर है, इसलिए मुझे रजिस्ट्री या .cmd फाइल के साथ खिलवाड़ करने से बेहतर है
रिच

1
मैंने अभी-अभी कोशिश की है और यह नोटपैड ++ को सीधे कॉल करने के लिए अनौपचारिक रूप से काम नहीं करता है। यदि आप फ़ाइल नाम में वाइल्डकार्ड्स का उपयोग करते हैं, और सीधे एनपीपी को कॉल करते हैं, तो यह काम करता है, जैसे आप कर सकते हैं "notepad++.exe *somefiles*"और मेल खाने वाली फाइलें खुल जाएंगी। जब मैंने कोशिश की कि आपकी सुझाई गई बैच फ़ाइल के साथ, अर्थात "npp *somefiles*", इसने एक एनपीपी इंस्टेंस को खोला लेकिन मैंने जो फाइलें पास कीं, उन्हें नहीं खोला। कोई विचार?
SSILk

14

साथ ही, आप कमांड के साथ अपने पथ (उदाहरण के लिए C: \ Windows) में एक अन्य नाम बना सकते हैं

@echo %2 %3 %4 %5 %6 > %windir%\%1.cmd

एक बार जब आप ऐसा कर लेते हैं, तो आप कुछ ऐसा कर सकते हैं:

alias nameOfYourAlias commands to run 

और उसके बाद आप comman line में टाइप कर सकते हैं

nameOfYourAlias 

यह निष्पादित करेगा

commands to run 

लेकिन मेरे लिए सबसे अच्छा तरीका सिर्फ एक प्रोग्राम का रास्ता जोड़ना है।

setx PATH "%PATH%;%ProgramFiles%\Sublime Text 3" /M 

और अब मैं के रूप में उदात्त चलाते हैं

subl index.html

9

विंडोज 10 में कंसोल एलियास

कंसोल उपनाम को परिभाषित Doskey.exeकरने के लिए, मैक्रो बनाने के लिए उपयोग करें या AddConsoleAliasफ़ंक्शन का उपयोग करें ।

doskey

doskey test=cd \a_very_long_path\test

अंत में पैरामीटर जोड़ने के लिए भी $*:doskey short=longname $*

AddConsoleAlias

AddConsoleAlias( TEXT("test"), 
                 TEXT("cd \\<a_very_long_path>\\test"), 
                 TEXT("cmd.exe"));

अधिक जानकारी यहां कंसोल उपनाम , Doskey , पैरामीटर


7

आप बस टाइप करके एक उपनाम बनाना चाहते हैं:

c:\>alias kgs kubectl get svc

Created alias for kgs=kubectl get svc

और निम्नानुसार उपनाम का उपयोग करें:

c:\>kgs alfresco-svc

NAME           TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)   AGE
alfresco-svc   ClusterIP   10.7.249.219   <none>        80/TCP    8d

बस निम्न alias.batफ़ाइल को आप पथ में जोड़ें। यह केवल एक ही निर्देशिका में अतिरिक्त बैच फ़ाइलों को बनाता है।

  @echo off
  echo.
  for /f "tokens=1,* delims= " %%a in ("%*") do set ALL_BUT_FIRST=%%b
  echo @echo off > C:\Development\alias-script\%1.bat
  echo echo. >> C:\Development\alias-script\%1.bat
  echo %ALL_BUT_FIRST% %%* >> C:\Development\alias-script\%1.bat
  echo Created alias for %1=%ALL_BUT_FIRST%

यह बनाई गई बैच फ़ाइल का एक उदाहरण kgs.batहै:

@echo off 
echo. 
kubectl get svc %* 

6

दरअसल, मैं आपको एक बेहतर तरीके से ले जाऊंगा और आपको एक छोटी सी तकनीक पर आने दूंगा जिसका उपयोग मैंने तब से किया है जब मैं अमीगा पर प्रोग्राम करता था। आपके द्वारा उपयोग की जाने वाली किसी भी नई प्रणाली पर , यह व्यक्तिगत या पेशेवर हो, एक चरण दो फ़ोल्डर्स बनाने के लिए है: C:\BINऔर C:\BATCH। फिर क्रम में शुरू में दोनों को डालने के लिए अपना पथ विवरण संशोधित करेंC:\BATCH;C:\BIN;[rest of path]

ऐसा करने के बाद, यदि आपके पास बहुत कम उपयोग की जाने वाली उपयोगिताओं हैं जिनकी आपको केवल C:\BINफ़ोल्डर में प्रतिलिपि बनाने के लिए एक्सेस की आवश्यकता है और वे आपके रास्ते में हैं। अस्थायी रूप से इन असाइनमेंट को ओवरराइड करने के लिए, आप C:\BATCHफ़ोल्डर में निष्पादन योग्य के समान नाम के साथ एक बैच फ़ाइल जोड़ सकते हैं और पथ C: \ BIN में फ़ाइल से पहले मिल जाएगा। यह कुछ भी आप कभी भी करने की आवश्यकता हो सकती है को कवर करना चाहिए।

बेशक, इन दिनों यह करने के लिए विहित सही तरीका फ़ाइल के लिए एक प्रतीकात्मक जंक्शन बनाना होगा, लेकिन एक ही सिद्धांत लागू होता है। थोड़ा अतिरिक्त अतिरिक्त बोनस भी है। यदि आप सिस्टम में कुछ ऐसा डालना चाहते हैं जो पहले से ही रास्ते में किसी चीज़ के साथ टकराव करता है, तो इसे फ़ोल्डर C:\BINया C:\Batchफ़ोल्डर में रखना बस मूल से पहले ही होगा - आपको अस्थायी या स्थायी रूप से सामान को ओवरराइड करने की अनुमति देता है, या चीजों को नामों में बदल देता है। वास्तव में मूल को बदलने के बिना - के साथ और अधिक आरामदायक।


1
रोरविट के रूप में यही उत्तर है।
जीन फ़्राँस्वा Fabre

2
वास्तव में, नहीं यह नहीं है। मैंने कहा 'एक बेहतर'। अंतर्निहित ओवरराइड या पहले से मौजूद एक ओवरराइड को हटाने का विकल्प। बैच फ़ाइलों से निष्पादन की सरल अलगाव। और रोरी का समाधान निर्दिष्ट नहीं करता है कि फ़ोल्डर को कहां जाना चाहिए। इसलिए ज्यादातर इसे रास्ते के अंत में रखा जाएगा। शुरुआत के बजाय अंत में होने के नाते, उसका समाधान पहली जगह में ओवरराइड की अनुमति नहीं देगा। रोरी का समाधान लगभग वही है जो मैं खुद मूल रूप से 25 साल पहले आया था। मैंने तब से मॉडल को कुछ हद तक परिष्कृत किया है।
डेविड

2
जो कुछ। Amiga का उपयोग करने वाले लोग सभी बुरे नहीं हो सकते।
जीन फ़्राँस्वा Fabre

पर्याप्त रूप से :) मेरे मामले में, एलियासेस फ़ोल्डर आईएस मार्ग की शुरुआत में है, लेकिन किसी भी मामले में, मैं व्यक्तिगत रूप से डिफ़ॉल्ट को ओवरराइड नहीं करना चाहता हूं - मेरे उपनामों में हमेशा अलग नाम होते हैं। इसलिए मैं 'dig2' और 'digx' उपनामों के रूप में 'dig' का उपयोग करता हूं, लेकिन फिर भी 'dig' उपलब्ध है (इसके फोल्डर को निर्दिष्ट करने की आवश्यकता के बिना)। अमीगा के लिए भी +1 :)
रोरवीट

अच्छी यादें, मैंने स्टार्टअप-सीक्वेंस के लिए बैट फाइल का नाम भी बदल दिया है :)
Erdinç acorbacı

5

रोरवीट पर विस्तार उत्तर ।

DOSKEY पर .cmd फ़ाइलों का उपयोग करने का एक फायदा यह है कि ये "एलियास" तब अन्य शेल जैसे पावरशेल या डब्ल्यूएसएल (लिनक्स के लिए विंडोज सबसिस्टम) में उपलब्ध हैं।

बाश में इन आदेशों का उपयोग करने के साथ एकमात्र गच यह है कि यह थोड़ा अधिक सेटअप ले सकता है क्योंकि आपको अपने "उपनाम" को कॉल करने से पहले कुछ पथ हेरफेर करने की आवश्यकता हो सकती है।

उदाहरण के लिए मेरे पास विस्मार्क है जो विजुअल स्टूडियो में एक फाइल को संपादित करने के लिए मेरा "उपनाम" है

@echo off
if [%1]==[] goto nofiles
start "" "c:\Program Files (x86)\Microsoft Visual Studio 
11.0\Common7\IDE\devenv.exe" /edit %1
goto end
:nofiles
start "" "C:\Program Files (x86)\Microsoft Visual Studio 
11.0\Common7\IDE\devenv.exe" "[PATH TO MY NORMAL SLN]"
:end

कौन से वी.एस. वी.एस. के नए उदाहरण

बैश से इसका उपयोग करने के लिए, मैं तब परोक्ष का एक अतिरिक्त स्तर जोड़ देता हूं क्योंकि "बनाम मायफाइल" हमेशा काम नहीं करेगा

alias vs='/usr/bin/run_visual_studio.sh'

जो कि vscmd को कॉल करने से पहले रास्तों को समायोजित करता है

#!/bin/bash
cmd.exe /C 'c:\Windows\System32\vs.cmd' "`wslpath.sh -w -r $1`"

तो इस तरह से मैं बस कर सकता हूं

vs SomeFile.txt

या तो कमांड प्रॉम्प्ट में, पॉवर शेल या बैश और यह मेरे रनिंग विजुअल स्टूडियो में एडिटिंग के लिए खुलता है (जो कि मेरे खराब दिमाग को VI कमांड से निपटने के लिए बचाता है या कुछ ऐसे जब मैं अभी वीएस में घंटों तक एडिट करता रहा हूं)।


2

यह समाधान एक उपयुक्त नहीं है, लेकिन कुछ अवसरों में उद्देश्य प्रदान करता है।

सबसे पहले एक फ़ोल्डर बनाएं और इसे अपने सिस्टम पथ में जोड़ें। आप जिस भी कार्यक्रम के लिए उपनाम बनाना चाहते हैं, उसके निष्पादन योग्य पर जाएं। राइट क्लिक करें और डेस्कटॉप पर भेजें (शॉर्टकट बनाएँ)। शॉर्टकट का नाम बदलें जो भी अन्य नाम आरामदायक है। अब, अपने फ़ोल्डर में शॉर्टकट और जगह लें।

रन प्रॉम्प्ट से आप सीधे शॉर्टकट नाम टाइप कर सकते हैं और आपके लिए प्रोग्राम खोला जा सकता है। लेकिन कमांड प्रॉम्प्ट से, आपको लिंक .lnk और हिट दर्ज करने की आवश्यकता है , प्रोग्राम खोला जाएगा।


1

स्वाभाविक रूप से, मैं तब तक आराम नहीं करूंगा जब तक मेरे पास सभी का सबसे सुविधाजनक समाधान नहीं है। विशाल इंटरनेट पर बहुत सारे उत्तरों और विषयों को मिलाकर, यहाँ वही है जो आपके पास हो सकता है।

  • हर उदाहरण के साथ स्वचालित रूप से लोड होता है cmd
  • DOSKEYउपनाम के लिए कीवर्ड की आवश्यकता नहीं है

ध्यान दें कि यह काफी हद तक Argyll के उत्तर और टिप्पणियों पर आधारित है , अवधारणाओं को समझने के लिए इसे ज़रूर पढ़ें।

यह काम किस प्रकार करता है?

1) उपनाम के साथ एक मैक्रो फ़ाइल बनाएं (या अन्य सामान चलाने के लिए एक बल्ला / सीएमडी फ़ाइल भी)
2) इसे रजिस्ट्री में पंजीकृत करें cmd ​​के प्रत्येक उदाहरण पर चलाने के लिए
  - आप इसे केवल शॉर्टकट के माध्यम से भी चला सकते हैं यदि आप चाहते हैं

बस इतना ही

%userprofile%/cmd/aliases.mac
;==============================================================================
;= This file is registered via registry to auto load with each instance of cmd.
;================================ general info ================================
;= https://stackoverflow.com/a/59978163/985454  -  how to set it up?
;= https://gist.github.com/postcog/5c8c13f7f66330b493b8  -  example doskey macrofile
;========================= loading with cmd shortcut ==========================
;= create a cmd link with the following target :
;= %comspec% /k "(doskey /macrofile=%userprofile%\cmd\aliases.mac)"

alias=subl %USERPROFILE%\cmd\aliases.mac
hosts=runas /noprofile /savecred /user:QWERTY-XPS9370\administrator "subl C:\Windows\System32\drivers\etc\hosts" > NUL

ls=ls --color=auto $*
ll=ls -l --color=auto $*
la=ls -la --color=auto $*
grep=grep --color

~=cd %USERPROFILE%
cdr=cd c:\repos
cdd=cd c:\repos\dixons
cds=cd c:\repos\stekkie
cdu=cd c:\repos\uplus
cduo=cd c:\repos\uplus\oxbridge-fe
cdus=cd c:\repos\uplus\stratus

;============================= :end ============================
;= rem ******************************************************************
;= rem * EOF - Don't remove the following line.  It clears out the ';'
;= rem * macro. We're using it because there is no support for comments
;= rem * in a DOSKEY macro file.
;= rem ******************************************************************
;=

अब आपके पास दो विकल्प हैं:
ए) सिर्फ मैक्रोफाइल
बी रजिस्टर करें) एक नियमित cmd/batफाइल का उपयोग भी मनमाना कमांड चलाने के लिए करें जिसे
आप चाहते हैं उसका नाम बदलें Autorun

[HKEY_CURRENT_USER\Software\Microsoft\Command Processor] - मैन्युअल
  Autorun    REG_SZ    doskey /macrofile=%userprofile%\cmd\aliases.mac
  Autorun_    REG_SZ    %USERPROFILE%\cmd\env.cmd
%userprofile%/cmd/cmd-aliases.reg - या reg फ़ाइल के माध्यम से
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"Autorun"="doskey /macrofile=%userprofile%\\cmd\\aliases.mac"
"Autorun_"="%USERPROFILE%\\cmd\\env.cmd"
%userprofile%/cmd/env.cmd अगर आपको ऊपर) के लिए तय किया गया है तो आपको इस फ़ाइल की आवश्यकता नहीं है
:: This file is registered via registry to auto load with each instance of cmd.
:: https://stackoverflow.com/a/59978163/985454

@echo off
doskey /macrofile=%userprofile%\cmd\aliases.mac

:: put other commands here

0

चूंकि आप पहले से ही notepad++.exeअपने रास्ते में हैं। नामित फ़ोल्डर में एक शॉर्टकट बनाएं npऔर उसे इंगित करें notepad++.exe


0

सबसे पहले, आप np.cmd नाम से एक फ़ाइल बना सकते हैं और इसे उस फ़ोल्डर में डाल सकते हैं जो PATH खोज सूची में है। फिर, नीचे दिए अनुसार np.cmd फ़ाइल संपादित करें:

@echo off
notepad++.exe

0

यदि आप प्रति-निर्देशिका / प्रति-परियोजना के आधार पर उपनाम सक्षम करना चाहते हैं , तो निम्नलिखित प्रयास करें:

  1. सबसे पहले, एक बैच फ़ाइल बनाएं aliasesजो वर्तमान निर्देशिका में नामित फ़ाइल की तलाश करेगी और उसमें से उपनामों को शुरू करेगी , चलो इसे कॉल करेंmake-aliases.cmd

    @echo off
    if not exist aliases goto:eof
    echo [Loading aliases...]
    for /f "tokens=1* delims=^=" %%i in (aliases) do (
       echo   %%i ^<^=^> %%j
       doskey %%i=%%j
    )
    doskey aliases=doskey /macros
    echo   --------------------
    echo   aliases ^=^> list  all
    echo   alt+F10 ^=^> clear all
    echo [Done]
    
  2. फिर, aliasesनिम्नलिखित प्रारूप का उपयोग करके जहाँ भी आपको उनकी आवश्यकता हो , बनाएँ :

    alias1 = command1
    alias2 = command2
    ...
    

    उदाहरण के लिए:

    b = nmake
    c = nmake clean
    r = nmake rebuild
    
  3. फिर, make-aliases.cmdअपने %PATH%वैरिएबल के स्थान को सिस्टम-वाइड बनाने के लिए जोड़ें या बस इसे ज्ञात स्थान पर रखें।

  4. इसे अपने आप शुरू करें cmd

    • मैं निश्चित रूप से इसके HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRunलिए उपयोग करने के खिलाफ सलाह दूंगा , क्योंकि कुछ विकास उपकरण प्रति सत्र ऑटोरन स्क्रिप्ट को कई बार ट्रिगर करेंगे।

    • आप का उपयोग करते हैं ConEmu आप एक और तरीका है जाने के लिए और स्टार्टअप कार्य से स्क्रिप्ट शुरू कर सकता है ( Settings> Startup> Tasks), उदाहरण के लिए, मैं एक प्रवेश बुलाया बनाया {MSVC}:

      cmd.exe /k "vcvars64 && make-aliases",

      और फिर इसे एक्सप्लोरर संदर्भ मेनू में Settings> के माध्यम से > के Integration>साथ पंजीकृत किया Command: {MSVC} -cur_console:n, ताकि अब मैं एक फ़ोल्डर पर राइट-क्लिक कर सकूं और अपने अंदर aliasesलोड किए गए वीएस डेवलपर प्रॉम्प्ट को अपने लोड किए गए स्वचालित रूप से लॉन्च कर सकता हूं , अगर वे उस फ़ोल्डर में हों।

      ConEmu के बिना, आप बस cmd.exeसंबंधित कमांड के साथ एक शॉर्टकट बनाना चाहते हैं या बस make-aliasesहर बार मैन्युअल रूप से चला सकते हैं।

क्या आपको अपने उपनामों को भूल जाना चाहिए, aliasesमैक्रो का उपयोग करना चाहिए , और यदि कुछ भी गलत होता है, तो बस वर्तमान सत्र को Alt+ दबाकर रीसेट करें F10, जो एक अंतर्निहित कमांड है cmd


-4

डॉसकी का उपयोग करना ऐसा करने का सही तरीका है, लेकिन यह कमांड प्रॉम्प्ट विंडो बंद होने पर रीसेट हो जाता है। आपको उस लाइन को .bashrc समतुल्य की तरह जोड़ना होगा। इसलिए मैंने निम्नलिखित कार्य किया:

  1. सिस्टम पथ चर में "C: \ Program Files (x86) \ Notepad ++" जोड़ें
  2. नोटपैड ++ की प्रतिलिपि बनाएँ। exe (एक ही फ़ोल्डर में, निश्चित रूप से) और उसका नाम बदलकर np.exe करें

ठीक काम करता है!

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