Sonunda Cygwin'den bağımsız bir cevap.
Bu benim dizin isem, gerçeğini kullanır C:\\Cool
ve ben komut diyoruz C:\\Cygwin\\bin\\mintty.exe
, mintty
yani geçerli dizinde, üzerinde otomatik olarak açılır C:\\Cool
.
İlk olarak, dosyayı C:\\Cygwin\\silent_run.vbs
aşağıdaki içeriklerle oluşturmanız gerekir :
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
Ardından, bu yanıtı yüklemek için bir Windows Kayıt Defteri dosyası kullanacaksınız. Bunun için aşağıdaki dosyanın içeriğini adlı bir dosyayaC:\\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"
Şimdi, tüm sabit kodlanmış yolları, yani C:\\Cygwin
Cygwin kurulumunuzun açık olduğu gerçek konuma sabitleyin .
Ardından, C:\\Cygwin\\AddMinttyToContextMenu.reg
yeni kayıt defteri girişlerinizi yüklemek için dosyayı açmanız yeterlidir.
Dosya , C:\\Cygwin\\AddMinttyToContextMenu.reg
önce a'yı açıp cmd.exe
bulunduğunuz dizine geçerek , komutu komut satırı seçenekleriyle terminali C:\\Cygwin\\silent_run.vbs
açmaya C:\\Cygwin\\bin\\mintty.exe
çalışarak çalışır-w max
açmaya, yani ekranı kapatarak açmaya çalışır.
Komut dosyası C:\\Cygwin\\silent_run.vbs
, C:\\Cygwin\\bin\\mintty.exe
ilk cmd.exe
açtığımız, açık bırakmadan terminali açmak için gereklidir .
İlk girişi C:\\Cygwin\\AddMinttyToContextMenu.reg
kullanılmaz C:\\Cygwin\\silent_run.vbs
çünkü varsayılan olarak HKEY_CLASSES_ROOT\Directory\Background\shell
anahtarlar geçerli dizinde zaten açıktır, o zamanC:\\Cygwin\\bin\\mintty.exe
kutunun dışında çalışmak için doğrudan .
Referanslar:
- Klasörler için Windows Gezgini'ne bağlam menüsü öğesi nasıl eklenir
- Boşluk içeren yollarda VBScript pass komut satırı bağımsız değişkeni
- Boşlukları ve tırnak işaretlerini içeren bir komutu CScript'e tek bir parametre olarak nasıl iletebilirim?
- bağımsız değişkenleri geçen başka bir vbscript dosyasından vbscript çağırma
- https://ss64.com/vb/syntax-args.html
- Dizenin boşluk içerip içermediğini kontrol edin
- Komut satırını VbScript ile sessizce çalıştırıyor ve çıktı alıyor musunuz?
- http://www.vbsedit.com/html/6f28899c-d653-4555-8a59-49640b0e32ea.asp
- /superuser/62525/run-a-batch-file-in-a-completely-hidden-way
- VBscript üzerinde argüman olarak alınan Batch komut dosyası nasıl çalıştırılır?
- Bir VBScript'e (cscript ile başlatılan vbs dosyası) argüman iletebilir miyim?