Cuối cùng, một câu trả lời độc lập với chính Cygwin.
Điều này sử dụng thực tế là, nếu tôi đang ở trong thư mục C:\\Cool
và tôi gọi lệnh C:\\Cygwin\\bin\\mintty.exe
, mintty
sẽ tự động mở trên thư mục hiện tại, tức là , C:\\Cool
.
Trước tiên, bạn sẽ cần tạo tệp C:\\Cygwin\\silent_run.vbs
với nội dung sau:
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
Tiếp theo, để cài đặt câu trả lời này, bạn sẽ sử dụng tệp Windows Registry. Đối với điều đó, chỉ cần đặt nội dung của tệp sau vào một tệp có tênC:\\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"
Bây giờ, Sửa tất cả các đường dẫn được mã hóa cứng, nghĩa là C:\\Cygwin
đến vị trí thực tế nơi cài đặt Cygwin của bạn được bật.
Sau đó, chỉ cần mở tệp C:\\Cygwin\\AddMinttyToContextMenu.reg
để cài đặt các mục đăng ký mới của bạn và bạn đã hoàn tất.
Tệp C:\\Cygwin\\AddMinttyToContextMenu.reg
hoạt động bằng cách mở đầu tiên a cmd.exe
, thay đổi thư mục nơi bạn đang ở, sau đó, gọi C:\\Cygwin\\silent_run.vbs
để mở C:\\Cygwin\\bin\\mintty.exe
thiết bị đầu cuối với các tùy chọn dòng lệnh -w max
, nghĩa là để mở tối đa hóa nó.
Kịch bản C:\\Cygwin\\silent_run.vbs
được yêu cầu để mở C:\\Cygwin\\bin\\mintty.exe
thiết bị đầu cuối mà không giữ đầu tiên cmd.exe
chúng tôi mở, mở.
Mục nhập đầu tiên C:\\Cygwin\\AddMinttyToContextMenu.reg
không sử dụng C:\\Cygwin\\silent_run.vbs
vì theo mặc định, các HKEY_CLASSES_ROOT\Directory\Background\shell
khóa đã được mở trong thư mục hiện tại, sau đó, chúng ta chỉ cần gọi C:\\Cygwin\\bin\\mintty.exe
trực tiếp để làm cho nó hoạt động ra khỏi hộp.
Người giới thiệu:
- Cách thêm mục menu ngữ cảnh vào Windows Explorer cho các thư mục
- VBScript truyền đối số dòng lệnh trong đường dẫn có dấu cách
- Làm cách nào để truyền một lệnh có khoảng trắng và dấu ngoặc kép dưới dạng một tham số cho CScript?
- gọi vbscript từ một tệp vbscript khác truyền đối số
- https://ss64.com/vb/syntax-args.html
- Kiểm tra xem chuỗi có chứa không gian không
- Chạy dòng lệnh âm thầm với VbScript và nhận đầu ra?
- http://www.vbsedit.com/html/6f28899c-d653-4555-8a59-49640b0e32ea.asp
- /superuser/62525/run-a-batch-file-in-a-completely-hidden-way
- Làm cách nào để chạy tập lệnh Batch nhận được làm đối số trên VBscript?
- Tôi có thể chuyển một đối số cho VBScript (tệp vbs được khởi chạy với cscript) không?