Enfin une réponse indépendante de Cygwin lui-même.
Cela utilise le fait que, si je suis sur le répertoire C:\\Cool
et que j'appelle la commande C:\\Cygwin\\bin\\mintty.exe
, mintty
s'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.vbs
avec 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.reg
pour installer vos nouvelles entrées de registre et vous avez terminé.
Le fichier C:\\Cygwin\\AddMinttyToContextMenu.reg
fonctionne en ouvrant d'abord a cmd.exe
, en changeant dans le répertoire où vous vous trouvez, puis en appelant C:\\Cygwin\\silent_run.vbs
pour ouvrir le C:\\Cygwin\\bin\\mintty.exe
terminal avec les options de ligne de commande-w max
, c'est-à-dire pour l'ouvrir maximisé.
Le script C:\\Cygwin\\silent_run.vbs
est nécessaire pour ouvrir le C:\\Cygwin\\bin\\mintty.exe
terminal sans garder le premier que cmd.exe
nous avons ouvert, ouvert.
La première entrée de C:\\Cygwin\\AddMinttyToContextMenu.reg
n'utilise pas C:\\Cygwin\\silent_run.vbs
car par défaut les HKEY_CLASSES_ROOT\Directory\Background\shell
clé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)?