Akhirnya jawaban yang independen dari Cygwin itu sendiri.
Ini menggunakan fakta bahwa, jika saya berada di direktori C:\\Cool
dan saya memanggil perintah C:\\Cygwin\\bin\\mintty.exe
, mintty
secara otomatis akan terbuka di direktori saat ini, yaitu C:\\Cool
,.
Pertama, Anda harus membuat file C:\\Cygwin\\silent_run.vbs
dengan konten berikut:
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
Selanjutnya, untuk menginstal jawaban ini, Anda akan menggunakan file Windows Registry. Untuk itu, cukup masukkan konten file berikut ke dalam file bernamaC:\\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"
Sekarang, Perbaiki semua jalur kode keras, yaitu, C:\\Cygwin
ke lokasi aktual di mana instalasi Cygwin Anda aktif.
Kemudian, cukup buka file C:\\Cygwin\\AddMinttyToContextMenu.reg
untuk menginstal entri registri baru Anda dan Anda selesai.
File ini C:\\Cygwin\\AddMinttyToContextMenu.reg
bekerja dengan membuka a pertama cmd.exe
, mengubah ke direktori di mana Anda berada, kemudian, memanggil C:\\Cygwin\\silent_run.vbs
untuk membuka C:\\Cygwin\\bin\\mintty.exe
terminal dengan opsi baris perintah-w max
, yaitu, untuk membukanya secara maksimal.
Script C:\\Cygwin\\silent_run.vbs
diperlukan untuk membuka C:\\Cygwin\\bin\\mintty.exe
terminal tanpa membiarkan cmd.exe
kita membuka, membuka.
Entri pertama C:\\Cygwin\\AddMinttyToContextMenu.reg
tidak digunakan C:\\Cygwin\\silent_run.vbs
karena secara default HKEY_CLASSES_ROOT\Directory\Background\shell
tombol sudah terbuka di direktori saat ini, maka, kita bisa C:\\Cygwin\\bin\\mintty.exe
langsung menelepon untuk membuatnya bekerja di luar kotak.
Referensi:
- Bagaimana menambahkan item menu konteks ke Windows Explorer untuk folder
- VBScript meneruskan argumen baris perintah di jalur dengan spasi
- Bagaimana cara menyampaikan perintah dengan spasi dan tanda kutip sebagai parameter tunggal ke CScript?
- memanggil vbscript dari argumen vbscript file lain yang lewat
- https://ss64.com/vb/syntax-args.html
- Periksa apakah string berisi ruang
- Menjalankan baris perintah secara diam-diam dengan VbScript dan mendapatkan output?
- http://www.vbsedit.com/html/6f28899c-d653-4555-8a59-49640b0e32ea.asp
- /superuser/62525/run-a-batch-file-in-a-completely-hidden-way
- Bagaimana menjalankan skrip Batch yang diterima sebagai argumen pada VBscript?
- Bisakah saya meneruskan argumen ke VBScript (file vbs diluncurkan dengan cscript)?