Sonunda Cygwin'den bağımsız bir cevap.
Bu benim dizin isem, gerçeğini kullanır C:\\Coolve ben komut diyoruz C:\\Cygwin\\bin\\mintty.exe, minttyyani geçerli dizinde, üzerinde otomatik olarak açılır C:\\Cool.
İlk olarak, dosyayı C:\\Cygwin\\silent_run.vbsaş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:\\CygwinCygwin kurulumunuzun açık olduğu gerçek konuma sabitleyin .
Ardından, C:\\Cygwin\\AddMinttyToContextMenu.regyeni 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.exebulunduğunuz dizine geçerek , komutu komut satırı seçenekleriyle terminali C:\\Cygwin\\silent_run.vbsaç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.exeilk cmd.exeaçtığımız, açık bırakmadan terminali açmak için gereklidir .
İlk girişi C:\\Cygwin\\AddMinttyToContextMenu.regkullanılmaz C:\\Cygwin\\silent_run.vbsçünkü varsayılan olarak HKEY_CLASSES_ROOT\Directory\Background\shellanahtarlar 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?