Enfin une réponse indépendante de Cygwin lui-même.
Cela utilise le fait que, si je suis sur le répertoire C:\\Coolet que j'appelle la commande C:\\Cygwin\\bin\\mintty.exe, minttys'ouvrira automatiquement sur le répertoire courant, c'est-à-dire C:\\Cool.
Tout d'abord, vous devrez créer le fichier C:\\Cygwin\\silent_run.vbsavec le contenu suivant:
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
Ensuite, pour installer cette réponse, vous utiliserez un fichier de registre Windows. Pour cela, il suffit de mettre le contenu du fichier suivant dans un fichier nommé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"
Maintenant, corrigez tous les chemins codés en dur, c'est- C:\\Cygwinà- dire à l'emplacement réel où se trouve votre installation Cygwin.
Ensuite, ouvrez simplement le fichier C:\\Cygwin\\AddMinttyToContextMenu.regpour installer vos nouvelles entrées de registre et vous avez terminé.
Le fichier C:\\Cygwin\\AddMinttyToContextMenu.regfonctionne en ouvrant d'abord a cmd.exe, en changeant dans le répertoire où vous vous trouvez, puis en appelant C:\\Cygwin\\silent_run.vbspour ouvrir le C:\\Cygwin\\bin\\mintty.exeterminal avec les options de ligne de commande-w max , c'est-à-dire pour l'ouvrir maximisé.
Le script C:\\Cygwin\\silent_run.vbsest nécessaire pour ouvrir le C:\\Cygwin\\bin\\mintty.exeterminal sans garder le premier que cmd.exenous avons ouvert, ouvert.
La première entrée de C:\\Cygwin\\AddMinttyToContextMenu.regn'utilise pas C:\\Cygwin\\silent_run.vbscar par défaut les HKEY_CLASSES_ROOT\Directory\Background\shellclés sont déjà ouvertes dans le répertoire courant, alors, on peut simplement appelerC:\\Cygwin\\bin\\mintty.exe directement pour le faire fonctionner hors de la boîte.
Références:
- Comment ajouter un élément de menu contextuel à l'Explorateur Windows pour les dossiers
- VBScript passe l'argument de ligne de commande dans les chemins avec des espaces
- Comment passer une commande avec des espaces et des guillemets en tant que paramètre unique à CScript?
- appeler vbscript à partir d'un autre fichier vbscript en passant des arguments
- https://ss64.com/vb/syntax-args.html
- Vérifiez si la chaîne contient de l'espace
- Exécuter la ligne de commande en silence avec VbScript et obtenir une sortie?
- http://www.vbsedit.com/html/6f28899c-d653-4555-8a59-49640b0e32ea.asp
- /superuser/62525/run-a-batch-file-in-a-completely-hidden-way
- Comment exécuter le script Batch reçu comme argument sur VBscript?
- Puis-je passer un argument à un VBScript (fichier vbs lancé avec cscript)?