एक विशिष्ट फ़ोल्डर में Cygwin खोलें


226

मैं एक Cygwin शॉर्टकट कैसे बना सकता हूं जो किसी विशिष्ट फ़ोल्डर में Cygwin खोलेगा? यह टाइप करने के लिए होता है

cd /cygdrive/c/Users/Tom/Desktop/

हर बार जब मैं साइगविन लॉन्च करता हूं।


2
.bat फ़ाइल बनाएँ: यहाँ एक ट्यूटोरियल है computerhope.com/batch.htm
उमर जमील

नोट: चेरे पैकेज को प्रशासक विशेषाधिकारों के साथ तत्काल करने की आवश्यकता हो सकती है। यदि आप इसे पकड़ लेते हैं, और उपयोग करने के लिए लुभाते हैं sudo, तो आपको अपेक्षित परिणाम नहीं मिल सकता है। इस स्थिति में, विंडोज़ मशीन पर एक व्यवस्थापक उपयोगकर्ता के रूप में लॉगिन करें।
dreftymac

जवाबों:


410

जब आप Cygwin स्थापित करते हैं (या यदि आपने इसे पहले ही इंस्टॉल कर लिया है, तो इसे फिर से डाउनलोड करें और अपडेट चलाने के लिए फिर से सेटअप शुरू करें), सुनिश्चित करें कि आप chere"शेल्स" श्रेणी के तहत पैकेज का चयन करते हैं ।

Cygwin लॉन्च होने के बाद, Cygwin टर्मिनल खोलें (एक प्रशासक के रूप में) और कमांड टाइप करें chere -i -t mintty -s bash:।

अब आपके पास विंडोज राइट-क्लिक संदर्भ मेनू में "बैश प्रॉम्प्ट हियर" होना चाहिए।

( मिनिट शायगिन का डिफ़ॉल्ट टर्मिनल है। यदि आप इसे -tविकल्प के साथ नहीं चुनते हैं , तो आपका "बैश प्रॉम्प्ट हियर" विंडोज कमांड प्रॉम्प्ट के समान टर्मिनल का उपयोग करेगा, जो क्षैतिज आकार बदलने से रोकता है।)


39
बहुत बढ़िया लगता है, धन्यवाद! मुझे पता चला कि आप उस टर्मिनल को निर्दिष्ट कर सकते हैं जिसका उपयोग आप खोलना चाहते हैं -t, उदाहरण के लिए, आपके द्वारा उपयोग किए जाने वाले मिनिटेट को खोलने के लिएchere -i -t mintty
केविन कोंडोन

29
बस 64 बिट साइबरविन (1.7.27) के साथ परीक्षण किया गया और चेरे अब मौजूद हैं। प्रो-टिप: व्यवस्थापक विशेषाधिकारों के साथ साइबरविन टर्मिनल लॉन्च करना याद रखें।
बिल्डब्रोबॉट्स

11
एक बात और ध्यान दें। यदि आपने पहले ही chere -i -t mintty -fओवरराइट को मजबूर करने के लिए ऐसा किया है । आपको अभी भी व्यवस्थापक के रूप में साइबरविन चलाने की आवश्यकता होगी।
ग्रेग जेनिंग्स

29
W7x64 पर अनुमति के मुद्दे थे (त्रुटि (5): प्रवेश निषेध है। हाइव लेखन योग्य नहीं है)। व्यवस्थापक के रूप में सिगविन को लॉन्च करके हल किया गया।
दिमित्रीसांडवोव

17
Cygwin के पास मेरे मामले में कोई डिफ़ॉल्ट शेल नहीं था, इसलिए मेरे लिए यह काम -s bashकरने के लिए जोड़नाchere -i -t mintty -s bash
ब्रायस गुइंटा

97

यहाँ मैं क्या उपयोग है। इसे chereपैकेज या रजिस्ट्री टिंकरिंग की आवश्यकता नहीं है । विंडोज 7 पर काम करता है।

अपने "भेजें" फ़ोल्डर में जाएं:

C:\Users\<your_user_name>\AppData\Roaming\Microsoft\Windows\SendTo

फ़ील्ड Bash Hereमें इसका नाम वाला एक शॉर्टकट बनाएं Target:

C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico  C:\cygwin\bin\bash.exe  -l -c "cd \"$0\" ; exec bash"

विंडोज एक्सप्लोरर में, आप एक फ़ोल्डर पर राइट-क्लिक करें और चुनें Send To > Bash Here

और यहां एक विपरीत चाल है, अपने वर्तमान बैश डायर में एक विंडोज एक्सप्लोरर खोलना। इस उपनाम बनाएँ:

alias winx='/cygdrive/c/Windows/explorer.exe /e,\`cygpath -w .\`'

नोट: cygpath -w .ऊपर का हिस्सा बैक-टिक्स में संलग्न है।

अब बस winxबैश प्रॉम्प्ट पर टाइप करें , और एक विन एक्सप्लोरर वहां पॉप अप करता है।

नोट: यदि winx आपको अपने दस्तावेज़ फ़ोल्डर में निर्देशित करता है, तो प्रयास करें

alias winx='/cygdrive/c/Windows/explorer.exe /e,`cygpath -w $PWD`'

3
बहुत अच्छी चाल, लेकिन winxउपनाम मेरे Cygwin सेटअप पर काम नहीं किया। मैं दोनों बैकस्लैश को हटाने और बदलने के लिए किया था .के साथ $PWDयह काम करने के लिए।
नं .2 वाँ

क्या होगा यदि शॉर्टकट (मेरी स्थापना के Cygwin64 पथ का उपयोग करने के लिए अनुकूलित) मेरे उपयोगकर्ता फ़ोल्डर में cygwin खोलता है? :( शायद यह केवल 32-बिट सिगविन के साथ काम करता है?
एलेक्स हॉल

यह एक मेरे लिए भी काम कर रहा हैalias winx='/cygdrive/c/Windows/explorer.exe /e,$(cygpath -wa .)'
वाकन टंका

1
साइबरविन 2.6.0 में (विन 7 x64 पर) इसे बहुत आसान किया जा सकता है: cygstart .वर्तमान फ़ोल्डर, या किसी भी फ़ोल्डर सिंटैक्स cygstart .., cygstart /your/pathआदि के साथ एक्सप्लोरर खोलने के लिए ...
244an

2
चेतावनी: जब आप वर्किंग डायरेक्टरी को किसी और चीज़ में बदलते हैं, तब भी C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico C:\cygwin\bin\bash.exe -l -c "cd \"$0\" ; exec bashफ़ाइल हैंडल को $0डायरेक्टरी के लिए खुला रखा जाता है। ALT+F2जब आप पहले से ही वर्किंग डायरेक्टरी बदल चुके हों, तब भी विंडो की स्पॉइंग कॉपी ( ) खराब है , एक और फाइल हैंडल को खोलती है $0। यह कुछ ऑपरेशन में हस्तक्षेप कर सकता है $0जो किसी भी प्रक्रिया में हटाना / संशोधित करना चाहते हैं। यदि आपको इसे एक्सेस $0करते समय 'अनुमति अस्वीकृत' त्रुटि मिलती है, तो इसका कारण हो सकता है
मैट

33

साइबरविन टर्मिनल से, यह कमांड चलाएँ:

echo "cd your_path" >> ~/.bashrc

जब आप नया बैश सत्र खोलते हैं तो .bashrc स्क्रिप्ट चलती है। जब आप एक नया साइबर सत्र खोलते हैं, तो आपके_पर निर्देशिका में परिवर्तन के साथ ऊपर कोड ।


3
यह जवाब है! इतना आसान।
डेविन वॉकर

हाँ ! वह आसान है ! पक्ष में मत देना !
एलेक्स बर्थ

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

मैंने एक बार एक उपयोगकर्ता को पासवर्ड फ़ाइल में संलग्न करने के लिए वास्तव में इस पद्धति का उपयोग किया था, गलती से >पात्रों में से एक को छोड़ दिया । तब मैंने लॉग आउट किया :-)
paxdiablo

@paxdiablo ouch
bschwagg

30

मैंने एक .reg फ़ाइल बनाई जो राइट-क्लिक संदर्भ मेनू में "ओपन सिग्विन हियर" विकल्प रखती है। यह Cygwin "chere" पैकेज पर निर्भर करता है, जिसे आप apt-cyg का उपयोग करके स्थापित कर सकते हैं यदि आपने इसे प्रारंभिक सेटअप में स्थापित नहीं किया है।

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash]
@="Open Cygwin Here"

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash\command]
@="C:\\cygwin\\bin\\mintty.exe -e /bin/xhere /bin/bash.exe"

7
जो लोग सोच रहे हैं कि इसका उपयोग कैसे किया जाए, बस ग्रे-बैकग्राउंड टेक्स्ट को कॉपी करें और इसे "foo.reg" नामक टेक्स्ट फ़ाइल में डालें और इसे डबल क्लिक करें।
एंड्रयू मोलन

3
+1 सबसे अच्छा समाधान यहाँ। और उल्लेख करने के लिए धन्यवाद apt-cyg, मुझे इस उपकरण के बारे में पता नहीं था
user11153

यह वही था जो मैं देख रहा था, और इसने मुझे अन्य चीजों के साथ भी मदद की क्योंकि Microsoft साइट ने भी मुझे वही परिणाम नहीं दिया।
FilBot3

मुझे "cygwin" में बदलना पड़ा, लेकिन मुझे यह त्रुटि मिली: "चलाने में विफल / बिन / xhere: ऐसी कोई फ़ाइल या निर्देशिका नहीं"
Totty.js

@ Totty.js क्या आप सुनिश्चित हैं कि आपने Cygwin में 'chere' पैकेज स्थापित किया है?
०४ में ज्युटनरग

17

साइबर के लिए या चेरे के बिना इंस्टॉलेशन आप रजिस्ट्री प्रविष्टि में निम्न कमांड का उपयोग कर सकते हैं (अपने रास्ते के कारण खिड़कियां, यह भी मानते हुए कि साइबरविन इंस्टॉलेशन डायरेक्टरी c: \ cygwin64 है)

C:\cygwin64\bin\mintty.exe /bin/sh -lc 'cd "`cygpath "%V"`"; bash'

यहां डाउनलोड के लिए उपलब्ध विंडोज 7 और 8 रजिस्ट्री फाइल पर काम करता है: http://tomkay.me/blog/Cygwin64---Open-Here-18

Windows Registry Editor Version 5.00
; Open cygwin to folder
; http://tomkay.me - Tom Kay

[HKEY_CLASSES_ROOT\Folder\shell\open_cygwin]
@="Open Cygwin Here"

[HKEY_CLASSES_ROOT\Folder\shell\open_cygwin\command]
@="C:\\cygwin64\\bin\\mintty.exe /bin/sh -lc 'cd \"`cygpath \"%V\"`\"; bash'"

[HKEY_CLASSES_ROOT\Directory\Background\shell\open_cygwin]
@="Open Cygwin Here"

[HKEY_CLASSES_ROOT\Directory\Background\shell\open_cygwin\command]
@="C:\\cygwin64\\bin\\mintty.exe /bin/sh -lc 'cd \"`cygpath \"%V\"`\"; bash'"

क्या आप बता सकते हैं कि आपके पास 3 (x2) रजिस्ट्री प्रविष्टियाँ क्यों हैं?
not2qubit

1
वे
टॉम का

अंत में, एक समाधान जिसने मेरे लिए काम किया, हालांकि मेरे पास इसे पूरी तरह से समझने के लिए कुछ मुद्दे हैं;; '' मार '' के बाद 'मार']। संकेत: आप 3 प्रविष्टियों को 1: 'फ़ोल्डर' के बजाय 'डायरेक्टरी', 'ड्राइव' और 'बैकग्राउंड' से बदल सकते हैं।
t0r0X

केवल 'फ़ोल्डर' के साथ, लिंक एक ड्राइव के संदर्भ मेनू में दिखाई देता है, लेकिन निष्पादित करने में विफल रहता है। हालाँकि, मैं 'Folder' और 'Directory \ Background' के साथ 2 प्रविष्टियों में कटौती करने में सक्षम रहा हूँ
टॉम

1
Emacs के लिए: "C: \\ cygwin \\ बिन \\ mintty.exe मैं /Cygwin-Terminal.ico / bin / bash -l -c 'Emacs \" cygpath \"%V\"\ ";"
जनवरी Matousek

12

यदि आप उस निर्देशिका को अपने डिफ़ॉल्ट के रूप में रखना चाहते हैं, तो बस cdअपनी ~/.profileफ़ाइल में एक बयान जोड़ें ।

मैं अपनी सामान्य निर्देशिका को सेट करने के लिए उस विधि का उपयोग करता हूं, साथ ही साथ अपने सामान्य मामलों के लिए उपनाम भी परिभाषित करता हूं:

alias tom="cd /users/tom"

या आपके समकक्ष। यह मुझे निर्देशिकाओं को बहुत तेजी से बदलने देता है।


क्या उस उपनाम को ~/.profileभी फ़ाइल में जोड़ा जाना है, या केवल एक बार चलाना है?
आयन

2
@tomeoftom, यदि आप किसी शेल के भीतर चलते हैं, तो यह केवल उस शेल को प्रभावित करेगा। यह आपके द्वारा शुरू किए गए किसी अन्य को प्रभावित नहीं करेगा। इसलिए, यदि आप चाहते हैं कि यह हमेशा उपलब्ध रहे, तो आपको इसे अपनी एक स्टार्टअप फाइल (जिसमें ~/.profileएक संभावना है) में रखना होगा ।
पैक्सिडाब्लो

यह मेरे लिए काम नहीं किया जब ~ / .profile में डाल दिया, लेकिन ~ / .bashrc ने काम किया।
zupa

@ ज़ुपा, जिस नियम से स्टार्टअप फाइलें खट्टी होती हैं, वे यथोचित रूप से जटिल होती हैं (हालांकि bashअगर आप गहरी खुदाई करते हैं तो मैन पेज में यह सब है)। इसलिए मैंने .profileएक संभावना के रूप में कहा है ।
paxdiablo

.profile अंततः स्रोत .bashrc ताकि आप इसके बजाय bashrc में उस कमांड को जोड़ना चाह सकते हैं। (। मेरे लिए काम नहीं किया)
laertis

8

मैं chereपैकेज के बिना अपने साइबरविन को लॉन्च करने के लिए उपयोग और आइकन करता हूं ।

  1. साइबर डेस्कटॉप के लिए मेरे डेस्कटॉप पर एक शॉर्टकट बनाएं।
  2. आइकन पर क्लिक करें और गुणों का चयन करें।
  3. शॉर्टकट टैब पर, TARGET के लिए इसका उपयोग करें: C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico -c 'cd'
  4. START IN के लिए, dir / फ़ोल्डर का वह मार्ग रखें जहाँ आप cygwin लॉन्च करना चाहते हैं। अर्थातC:\some\dir\name\here

ठीक 2 बातें 1. -c"लक्ष्य" में शामिल होने से कोई फर्क नहीं पड़ता जब तक आप "स्टार्ट इन" 2 में एक पथ प्रदान नहीं करते हैं। यह समाधान एक समस्या पैदा करता है PATH। साग्विन /usr/local/bin:/usr/binसिस्टम को पथभ्रष्ट करने में विफल रहता है, जिससे उसके कुछ बायनेरिज़ को आह्वान करने में असमर्थ हो जाता है। कॉन्फ़िगरेशन संभवतः में रहता है /etc/profile>> `अगर [$ {CYGWIN_NOWINPATH-addwinpath} =" addwinath "]; तो `
laertis

8

जैसा कि दो 7s_clash ने कहा कि आपको पहले chereपैकेज और सेटअप मिनिटेट स्थापित करने की आवश्यकता है :

  1. व्यवस्थापक के रूप में Cygwin टर्मिनल खोलें
  2. apt-cyg install chere
  3. chere -i -t mintty

अब आप Windows Explorer (संदर्भ मेनू) में राइट माउस क्लिक के साथ विशिष्ट निर्देशिका में साइबरविन खोलने में सक्षम हैं और "बैश प्रॉम्प्ट हियर" का चयन करें।

आप विंडोज़ कमांड प्रॉम्प्ट का उपयोग करके एक विशिष्ट निर्देशिका से भी साइबरइन खोल सकते हैं:

  1. खुली विंडोज़ कमांड प्रॉम्प्ट
  2. cdकस्टम निर्देशिका में नेविगेट ( ) करें
  3. निष्पादित C:\cygwin64\bin\mintty.exe C:\cygwin64\bin\env.exe CHERE_INVOKING=1 C:\cygwin64\bin\bash.exe -l

    यह कमांड कमांड प्रांप्ट से ली गई करंट डाइरेक्टरी के साथ साइबरविन खोलेगी।

freeCommander

इस कमांड का उपयोग FreeCommander की तरह कस्टम फाइल मैनेजर से साइबरविन खोलने के लिए भी किया जा सकता है।

FreeCommander से ली गई वर्तमान निर्देशिका के साथ साइबरविन को खोलने के लिए, निम्नलिखित कार्य करें:

  1. उपकरण -> पसंदीदा उपकरण -> पसंदीदा उपकरण संपादित करें ... (Ctrl + Shift + Y)
  2. एक नया टूलबार (+ चिह्न) जोड़ें, शॉर्टकट: सम्मिलित करें

    • नाम: साइबरविन
    • कार्यक्रम या फ़ोल्डर: C:\cygwin64\bin\mintty.exe
    • प्रारंभ फ़ोल्डर: %ActivDir%
    • पैरामीटर: C:\cygwin64\bin\env.exe CHERE_INVOKING=1 C:\cygwin64\bin\bash.exe -l

आप FreeCommander से cygwin खोलने के लिए कस्टम शॉर्टकट जोड़ सकते हैं:

  1. उपकरण -> कीबोर्ड शॉर्टकट को परिभाषित करें
  2. नीचे स्क्रॉल करें "पसंदीदा उपकरण 01" (या "पसंदीदा उपकरण एन")
  3. नई शॉर्टकट कुंजी असाइन करें: मैं Ctrl+ Shift+ का उपयोग करता हूंT

महान संदर्भ: मिन्टी विकी, लेख टिप्स: एक विशेष निर्देशिका में शुरू


5

एक Windows शॉर्टकट बनाने के लिए जो आपके स्वयं के चयन की एक निर्देशिका में एक Cygwin टर्मिनल लॉन्च करता है, निम्नलिखित को आज़माएँ:

  • विंडोज डेस्कटॉप पर राइट-क्लिक करें, 'नया' चुनें, और फिर 'शॉर्टकट' चुनें।

  • आइटम के स्थान के लिए, निम्न पाठ दर्ज करें, minttyआवश्यकतानुसार पथ को बदलना और इच्छित निर्देशिका के नाम को प्रतिस्थापित करना।

    C:\cygwin64\bin\mintty.exe /bin/sh -lc 'cd DESIRED-DIRECTORY; exec bash'
    

    उदाहरण के लिए, ओपी निम्नलिखित पाठ का उपयोग करेगा:

    C:\cygwin64\bin\mintty.exe /bin/sh -lc 'cd /cygdrive/c/Users/Tom/Desktop/; exec bash'
    
  • अगला पर क्लिक करें'।

  • शॉर्टकट के लिए वांछित नाम दर्ज करें और 'समाप्त' पर क्लिक करें।

विभिन्न शॉर्टकट अक्सर निर्देशिकाओं में Cygwin टर्मिनलों को खोलने के लिए डेस्कटॉप पर कई शॉर्टकट रखे जा सकते हैं।

नेटबींस से एक विशेष निर्देशिका में साइग्विन खोल कैसे खोलें पर पोस्ट किए गए समाधान से प्रेरित ? पर superuser.com


4

फ़ाइल Cygwin.bat ढूंढें और इस तरह से सामग्री बनाएँ:

@echo off
set newpath=%cd:\=/%
pushd "%~dp0"
chdir bin
bash --login -i -c "cd \"%newpath%\"; exec bash"

PATH पर्यावरण के लिए cygwin.bat में पथ जोड़ें।

अब किसी भी फ़ोल्डर में आप पता बार टाइप कर सकते हैं:

cygwin

इसके अलावा आप इसे cmd.exe में टाइप कर सकते हैं


3

मैंने Win7 में वर्तमान निर्देशिका में zsh शुरू करने के लिए कोड की निम्नलिखित पंक्तियों का उपयोग किया।

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash]
@="Open Cygwin Here"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash\command]
@="\"C:\\Programmieren\\cygwin64\\bin\\mintty.exe\" -i /Cygwin-Terminal.ico /bin/zsh --login -c 'cd \"%V\";zsh'"

ध्यान दें कि मैंने% L या% 1 के बजाय% V का उपयोग किया (क्योंकि दोनों ने मेरे लिए काम नहीं किया)


3

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

HOMEसाइबरविन इंस्टॉलर चर का पता लगाता है , स्वचालित रूप से इसे एक साइबरपथ में तब्दील कर देता है और इसे मेरी ~ निर्देशिका बनाता है।

यह पिछले 5 वर्षों (लगभग 3 या 4, Win7) को पेशेवर रूप से उपयोग करने वाले प्रत्येक कार्य केंद्र के लिए ठीक काम किया है। मैं हमेशा इन मशीनों पर एकमात्र उपयोगकर्ता रहा हूं, यह नहीं कह सकता कि प्रभाव क्या है।


3

मैंने आपके द्वारा राइट क्लिक किए किसी भी फ़ोल्डर में Cygwin खोलने के लिए एक रजिस्ट्री एडिट स्क्रिप्ट बनाई है। यह मेरे GitHub पर है।

यहाँ मेरा GitHub है

RegEdit64-बिट मशीनों के लिए जीथब से नमूना कोड:

REGEDIT4

[HKEY_CLASSES_ROOT\Directory\shell\CygwinHere]
@="&Cygwin Bash Here"

[HKEY_CLASSES_ROOT\Directory\shell\CygwinHere\command]
@="C:\\cygwin64\\bin\\mintty.exe -i /Cygwin-Terminal.ico C:\\cygwin64\\bin\\bash.exe --login -c \"cd \\\"%V\\\" ; exec bash -rcfile ~/.bashrc\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\CygwinHere]
@="&Cygwin Bash Here"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\CygwinHere\command]
@="C:\\cygwin64\\bin\\mintty.exe -i /Cygwin-Terminal.ico C:\\cygwin64\\bin\\bash.exe --login -c \"cd \\\"%V\\\" ; exec bash -rcfile ~/.bashrc\""

यदि आपको "रजिस्ट्री तक पहुंचने में त्रुटि हुई है।" नीचे ... @mpersico द्वारा त्रुटि देखते जवाब मुझे 15 मिनट :) बचाया है |
डैनियल Sokolowski

2

व्यवस्थापक के रूप में साइगविन टर्मिनल खोलें

शक्तियों में (चॉकलेट का उपयोग करके):

choco install cyg-get

साइबरगन में राइट-क्लिक मेनू स्थापित होगा

cyg-get install chere
chere -i

अब आप किसी भी फोल्डर में "बैश प्रॉम्प्ट हियर" पर राइट क्लिक और उपयोग कर सकते हैं।


1

आप Iconअपनी Cygwin.icoफ़ाइल के पथ में फ़ील्ड सेट जोड़कर आइकन को शेल में जोड़ सकते हैं।

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash]
@="Cygwin"
"Icon"="\"C:\\cygwin64\\Cygwin.ico\""

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash\command]
@="C:\\cygwin64\\bin\\mintty.exe -e /bin/xhere /bin/bash.exe"

मुझे लगता है कि xhere के अस्तित्व के लिए एक पूर्वापेक्षा chere की स्थापना है, जैसा कि अन्य उत्तरों में वर्णित है।
शमूएल

1

मेरी विंडोज मशीन पर यह नहीं ले रहा था:

chere -i -t mintty

क्योंकि मिनिलेट शेल उपलब्ध नहीं था, लेकिन आपके पास ऐश बैश cmd डैश mksh pdksh पॉश tsh zsh passwd जैसे कई अन्य शेल के विकल्प हो सकते हैं।

इसलिए मैंने इस्तेमाल किया:

chere -i -s bash


मिंट्टी एक शेल नहीं है, यह एक टर्मिनल एमुलेटर है।
पालिक

यह मूल प्रश्न का उत्तर कैसे देता है?
लेह

यह उन लोगों को मदद प्रदान करेगा जिनके पास अपने सिस्टम में मिनिटेट नहीं है और ऊपर दिए गए समाधान का प्रयास करने के दौरान त्रुटि मिलती है, मैंने ऊपर दिए गए समाधान का भी पालन किया, लेकिन यह मेरी विंडोज़ मशीन पर काम नहीं करता, लेकिन मेरे जवाब से समस्या हल हो गई।
14:30 पर user3065757

1

आप बस cygwin टर्मिनल खोल सकते हैं और लिख सकते हैं: cd और ड्रैग एन ड्रॉप के बाद आप जिस फोल्डर को चाहते हैं, वह एन्टर एंटर करें!


हालांकि यह पूछे गए प्रश्न को पूरी तरह से हल नहीं करता है, यह एक बहुत ही उपयोगी टिप है। धन्यवाद।
RoG

1

रजिस्ट्री का उपयोग करने वाले उत्तर में, मैंने पाया कि Windows 2008 R2 SP1 पर, आपको पृष्ठभूमि को पथ से बाहर करने की आवश्यकता है। इसके अलावा, चूंकि चेरे और एक्सरे साइबरविन 64 का हिस्सा नहीं हैं, यहां एक समाधान है जो दोनों के लिए काम करता है, रजिस्ट्री और सेंड टू सॉल्यूशंस का संयोजन। अपने स्थापित स्थान के साथ 'E: \ cygwin64' बदलें:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\cygwin_bash]
@="Open Cygwin Here"

[HKEY_CLASSES_ROOT\Directory\shell\cygwin_bash\command]
@="E:\\cygwin64\\bin\\mintty.exe -i /Cygwin-Terminal.ico --exec /bin/bash.exe --login -c \"cd '%1' ; exec bash -rcfile ~/.bashrc\""

0

यह एकमात्र Cygwin64 रजिस्ट्री समाधान है जो विंडोज 8.1 में मेरे लिए काम करता है:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\mintty]
@="Mintty from Here"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\Directory\shell\mintty\command]
@="C:\\cygwin64\\bin\\mintty.exe -h always -e /usr/bin/ash -c 'cd  \"$(/usr/bin/cygpath \"%L\")\";  exec /usr/bin/bash  '"

सुनिश्चित करें कि आप अपने 'C: \ cygwin64' पथ को आवश्यक रूप से संशोधित करते हैं।


0

मैंने बैच फ़ाइल बनाई है और इसे सिगविन / बिन निर्देशिका में डाल दिया है। यह स्क्रिप्ट विकसित की गई थी, इसलिए यह सिग्विन में चयनित फ़ोल्डर और ड्राइव खोलने के लिए रजिस्ट्री प्रविष्टियों को स्थापित / अनइंस्टॉल करने की अनुमति देता है। जानकारी के लिए लिंक http://with-love-from-siberia.blogspot.com/2013/12/cygwin-here.html देखें

अद्यतन: यह समाधान प्रारंभिक सुझावों के समान है, लेकिन स्क्रिप्ट के भीतर विंडोज रजिस्ट्री के साथ सभी जोड़तोड़ छिपे हुए हैं।

स्थापित करने के लिए कमांड निष्पादित करें

cyghere.bat /install

स्थापना रद्द करने के लिए कमांड निष्पादित करें

cyghere.bat /uninstall

0

मुझे गिट के साथ भी समस्या थी, जो मेरे साइबर कमांडों को "चोरी" करने के लिए इस्तेमाल करते थे - इसलिए मुझे चलाने की आवश्यकता थी
C:\cygwin\bin\mintty.exe -
लेकिन व्यवस्थापक के रूप में स्थापित करने chereऔर निष्पादित करने के बाद chere -i -t mintty -f(ऊपर देखें), आप बस उपयोग कर सकते हैं:
C:\cygwin\bin\mintty.exe -e /bin/xhere /bin/bash.exe "."
मैंने इसे कुल कमांडर में कस्टम बटन (दाएं) के रूप में जोड़ा था पैनल> ऐड ...) पर क्लिक करें और यह बहुत अच्छी तरह से काम करता है।


0

एक bash फ़ाइल बनाएं, move.shजिसमें निम्न कोड हो, C:\cygwin64\bin\run.exe -p /bin bash runFile.sh यह Cygwin शुरू करता है और Cygwin runFile.shकी बिन निर्देशिका में वर्तमान को निष्पादित करता है मान लीजिए कि आप एक विशिष्ट निर्देशिका में नेविगेट करना चाहते हैं, E:\code तो runFile.sh में निम्न कोड हैcd E: cd code


0

अंत में एक जवाब जो खुद साइगविन से स्वतंत्र है।

यह इस तथ्य का उपयोग करता है कि, अगर मैं निर्देशिका पर C:\\Coolहूं और मैं कमांड को कॉल करता हूं C:\\Cygwin\\bin\\mintty.exe, minttyतो स्वचालित रूप से वर्तमान निर्देशिका पर खुल जाएगा, अर्थात C:\\Cool

सबसे पहले, आपको C:\\Cygwin\\silent_run.vbsनिम्नलिखित सामग्री के साथ फ़ाइल बनाने की आवश्यकता होगी :

Function EnquoteString(argument)
  EnquoteString = Chr(34) & argument & Chr(34)
End Function

arglist = ""
With WScript.Arguments
    For Each arg In .Unnamed
        ' Wscript.Echo "Unnamed: " & arg
        If InStr(arg, " ") > 0 Then
            ' arg contains a space
            arglist = arglist & " " & EnquoteString(arg)
        Else
            arglist = arglist & " " & arg
        End If
    Next
End With

CreateObject("Wscript.Shell").Run Trim( arglist ), 0, False

अगला, इस उत्तर को स्थापित करने के लिए, आप एक Windows रजिस्ट्री फ़ाइल का उपयोग करेंगे। उसके लिए, बस निम्नलिखित फ़ाइल की सामग्री को नाम की फ़ाइल में डालेंC:\\Cygwin\\AddMinttyToContextMenu.reg

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\Terminal Here]
"Icon"="\"C:\\Cygwin\\bin\\mintty.exe\""
"Position"="Middle"
@="Terminal Here"
"CommandFlags"=dword:00000020

[HKEY_CLASSES_ROOT\Directory\Background\shell\Terminal Here\Command]
@="\"C:\\Cygwin\\bin\\mintty.exe\" -w max"


[HKEY_CLASSES_ROOT\Directory\shell\Terminal Here]
"Icon"="\"C:\\Cygwin\\bin\\mintty.exe\""
"Position"="Middle"
@="Terminal Here"
"CommandFlags"=dword:00000020

[HKEY_CLASSES_ROOT\Directory\shell\Terminal Here\Command]
@="cmd.exe /c cd /d \"%V\" && wscript \"C:\\Cygwin\\silent_run.vbs\" \"C:\\Cygwin\\bin\\mintty.exe\" -w max"

अब, सभी हार्ड कोड किए गए रास्तों को ठीक करें, अर्थात C:\\Cygwinवास्तविक स्थान पर जहां आपका सिग्विन इंस्टॉलेशन है।

फिर, C:\\Cygwin\\AddMinttyToContextMenu.regअपनी नई रजिस्ट्री प्रविष्टियों को स्थापित करने के लिए फ़ाइल खोलें और आप कर रहे हैं।

फ़ाइल C:\\Cygwin\\AddMinttyToContextMenu.regपहले खोलने से काम करती है cmd.exe, उस निर्देशिका में बदलकर जहां आप हैं, फिर, कमांड लाइन विकल्पों के साथ टर्मिनल C:\\Cygwin\\silent_run.vbsखोलने के लिए कॉल करनाC:\\Cygwin\\bin\\mintty.exe-w max , अर्थात, इसे अधिकतम खोलने के लिए।

स्क्रिप्ट C:\\Cygwin\\silent_run.vbsको खोलने के लिए आवश्यक है C:\\Cygwin\\bin\\mintty.exeपहले रखने के बिना टर्मिनल cmd.exeहम खोला, खुला।

पहली प्रविष्टि का C:\\Cygwin\\AddMinttyToContextMenu.regउपयोग नहीं किया जाता है C:\\Cygwin\\silent_run.vbsक्योंकि डिफ़ॉल्ट रूप से HKEY_CLASSES_ROOT\Directory\Background\shellकुंजियाँ पहले से ही वर्तमान निर्देशिका में खुली हैं, फिर, हम C:\\Cygwin\\bin\\mintty.exeइसे सीधे बॉक्स से बाहर काम करने के लिए सीधे कॉल कर सकते हैं ।

संदर्भ:

  1. फ़ोल्डर्स के लिए विंडोज एक्सप्लोरर में संदर्भ मेनू आइटम कैसे जोड़ें
  2. VBScript रिक्त स्थान के साथ पथों में कमांडलाइन तर्क पारित करता है
  3. CScript के लिए एक ही पैरामीटर के रूप में रिक्त स्थान और उद्धरण के साथ एक कमांड कैसे पारित करें?
  4. एक और vbscript फ़ाइल पासिंग तर्कों से vbscript को कॉल करना
  5. https://ss64.com/vb/syntax-args.html
  6. जांचें कि क्या स्ट्रिंग में स्थान है
  7. VbScript के साथ चुपचाप कमांड लाइन चलाना और आउटपुट प्राप्त करना?
  8. http://www.vbsedit.com/html/6f28899c-d653-4555-8a59-49640b0e32ea.asp
  9. /superuser/62525/run-a-batch-file-in-a-completely-hidden-way
  10. VBscript पर तर्क के रूप में प्राप्त बैच स्क्रिप्ट को कैसे चलाया जाए?
  11. क्या मैं एक VBScript (cscript के साथ लॉन्च की गई vbs फ़ाइल) पर एक तर्क पारित कर सकता हूं?

-1
@echo off
C:
SET mypath=%~dp0
c:\cygwin\bin\bash -c "cd '%mypath%'; export CHERE_INVOKING=1; exec /bin/bash --login -i"

एक पाठ फ़ाइल में आदेशों के ऊपर कॉपी करें और इसे "अपनी रुचि के फ़ोल्डर" में .bat के रूप में सहेजें। यह "आपकी रुचि के फ़ोल्डर" में साइबरइन को खोलना चाहिए।


-1

@LindseyD उत्तर के आधार पर मैंने एक साधारण BAT फ़ाइल बनाई, जो वर्तमान निर्देशिका में cygwin को खोलता है, यह उपयोगी हो सकता है (मेरे लिए यह है)। यह मानते हुए कि आपके पास PATH में cygwin की बिन डायरेक्टरी है।

FOR /F %%x IN ('sh -c pwd') DO bash -l -i -c 'cd %%x; exec bash'

-1

मुझे नहीं पता कि मुझे इतना समय क्यों बर्बाद करना पड़ा, लेकिन यह मेरे लिए जीत 10, 64 बिट पर काम करता है:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash]
@="Open Cygwin Here"

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash\command]
@="C:\\cygwin64\\bin\\mintty.exe -i /Cygwin-Terminal.ico C:\\cygwin64\\bin\\bash.exe --login -c \"cd \\\"%V\\\" ; exec bash -rcfile ~/.bashrc\""

-1

शायद सबसे सरल एक:

1) फ़ाइल foo.reg बनाएँ

2) सामग्री डालें:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\background\shell\open_mintty]
@="open mintty"

[HKEY_CLASSES_ROOT\Directory\background\shell\open_mintty\command]
@="cmd /C mintty"

3) एक्ज्यूट foo.reg

अब किसी भी फोल्डर में राइट क्लिक करें, open minttyयह उस फ़ोल्डर में मिनिटेट स्पॉन करेगा।


-2

नीचे पसंद करने के लिए सबसे अच्छा:

HKEY_CLASSES_ROOT\Directory\shell\BashHere
Enter Data: Bash Here

HKEY_CLASSES_ROOT\Directory\shell\BashHere\command
Enter Data: 

cmd.exe /c C:\cygwin\bin\bash.exe --login -c "cd '%1'; exec /bin/bash"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.