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