Ouvrez Cygwin dans un dossier spécifique

Comment puis-je créer un raccourci Cygwin qui ouvrira Cygwin dans un dossier spécifique? Cela éviterait d'avoir à taper

cd /cygdrive/c/Users/Tom/Desktop/

Chaque fois que je lance Cygwin.

202
demandé sur dreftymac 2012-03-09 20:32:12

26 réponses

Lorsque vous installez Cygwin (ou si vous l'avez déjà installé, téléchargez-le à nouveau et redémarrez le programme d'installation pour lancer une mise à jour), assurez-vous de sélectionner le paquet chere dans la catégorie "Shells".

Après le lancement de Cygwin, ouvrez un terminal Cygwin (en tant qu'administrateur) et tapez la commande: chere -i -t mintty -s bash.

Maintenant, vous devriez avoir "Bash Prompt Here" dans le menu contextuel de Windows.

(mintty est le terminal par défaut de Cygwin. Si vous ne choisissez pas avec le -t option, votre "invite Bash ici" utilisera le même terminal que L'invite de commande Windows, ce qui empêche le redimensionnement horizontal.)

359
répondu two7s_clash 2018-07-30 08:51:04

Voici ce que j'utilise. Il ne nécessite pas chere paquet ou registre bricoler. Fonctionne sur Windows 7.

Allez dans votre dossier "Envoyer à":

C:\Users\<your_user_name>\AppData\Roaming\Microsoft\Windows\SendTo

Créez un raccourci nommé Bash Here ayant ceci dans le champ Target:

C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico  C:\cygwin\bin\bash.exe  -l -c "cd \"$0\" ; exec bash"

Dans L'Explorateur Windows, cliquez avec le bouton droit sur un dossier et sélectionnez Send To > Bash Here.

Et voici l'astuce inverse, ouvrir un explorateur Windows dans votre répertoire bash actuel. Créer cet alias:

alias winx='/cygdrive/c/Windows/explorer.exe /e,\`cygpath -w .\`'

Note: la partie cygpath -w . ci-dessus est incluse dans en arrière-tiques.

Maintenant, il suffit de taper winx à l'invite bash, et un explorateur Win apparaît là-haut.

Remarque: Si winx vous dirige vers votre dossier documents, essayez

alias winx='/cygdrive/c/Windows/explorer.exe /e,`cygpath -w $PWD`'
83
répondu LindseyD 2017-07-26 15:11:13

J'ai fait un .fichier reg qui met une option" Ouvrir Cygwin ici " dans le menu contextuel du clic droit. Cela dépend du paquet Cygwin "chere", que vous pouvez installer en utilisant apt-cyg Si vous ne l'avez pas installé dans la configuration initiale.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash]
@="Open Cygwin Here"

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash\command]
@="C:\\cygwin\\bin\\mintty.exe -e /bin/xhere /bin/bash.exe"
27
répondu John Peter Thompson Garcés 2016-01-28 04:57:15

Depuis le terminal cygwin, exécutez cette commande:

echo "cd your_path" >> ~/.bashrc

Le .bashrc script est exécuté lorsque vous ouvrez une nouvelle session bash. Le code ci-dessus avec changement dans le répertoire your_path lorsque vous ouvrez une nouvelle session cygwin.

23
répondu bschwagg 2014-11-21 20:46:32

Pour cygwin64 ou les installations sans chere, vous pouvez utiliser la commande suivante dans une entrée de registre (en supposant que windows en raison de votre chemin, en supposant également que le répertoire d'installation de cygwin est c:\cygwin64)

C:\cygwin64\bin\mintty.exe /bin/sh -lc 'cd "`cygpath "%V"`"; bash'

Fonctionne sur Windows 7 et 8 Fichier de registre disponible en téléchargement ici: http://tomkay.me/blog/Cygwin64---Open-Here-18

Windows Registry Editor Version 5.00
; Open cygwin to folder
; http://tomkay.me - Tom Kay

[HKEY_CLASSES_ROOT\Folder\shell\open_cygwin]
@="Open Cygwin Here"

[HKEY_CLASSES_ROOT\Folder\shell\open_cygwin\command]
@="C:\\cygwin64\\bin\\mintty.exe /bin/sh -lc 'cd \"`cygpath \"%V\"`\"; bash'"

[HKEY_CLASSES_ROOT\Directory\Background\shell\open_cygwin]
@="Open Cygwin Here"

[HKEY_CLASSES_ROOT\Directory\Background\shell\open_cygwin\command]
@="C:\\cygwin64\\bin\\mintty.exe /bin/sh -lc 'cd \"`cygpath \"%V\"`\"; bash'"
15
répondu Tom Kay 2014-07-02 14:06:28

Si vous voulez avoir ce répertoire par défaut, ajoutez simplement une instruction cd à votre fichier ~/.profile.

Ce que j'ai tendance à faire est d'utiliser cette méthode pour définir mon répertoire habituel, plus de définir des alias pour mes cas courants:

alias tom="cd /users/tom"

Ou votre équivalent. Cela me permet de changer les répertoires très rapidement.

10
répondu paxdiablo 2012-03-10 16:07:55

Comme two7s_clash l'a dit, vous devez d'abord installer chere package et configurer mintty:

  1. ouvrez le terminal Cygwin en tant qu'administrateur
  2. apt-cyg install chere
  3. chere -i -t mintty

Vous pouvez maintenant ouvrir cygwin dans un répertoire spécifique avec un clic droit de la souris dans L'Explorateur Windows (menu contextuel) et sélectionnez "Bash Prompt Here".

Vous pouvez également ouvrir cygwin à partir d'un répertoire spécifique à l'aide de l'invite de commande windows:

  1. ouvrir la commande windows invite
  2. naviguez (cd) vers le répertoire personnalisé
  3. Exécuter C:\cygwin64\bin\mintty.exe C:\cygwin64\bin\env.exe CHERE_INVOKING=1 C:\cygwin64\bin\bash.exe -l

    Cette commande ouvrira cygwin avec le répertoire courant extrait de l'invite de commande.

FreeCommander

Cette commande peut également être utilisée pour ouvrir cygwin à partir du gestionnaire de fichiers personnalisé, comme FreeCommander.

Pour ouvrir cygwin avec le répertoire courant extrait de FreeCommander, procédez comme suit:

  1. Outils - > Outils favoris - > outils favoris modifier... (Ctrl +Maj + Y)
  2. Ajouter une nouvelle barre d'outils (Icône+), Raccourci: Insérer

    • Nom: cygwin
    • programme ou dossier: C:\cygwin64\bin\mintty.exe
    • dossier de démarrage: %ActivDir%
    • Paramètre: C:\cygwin64\bin\env.exe CHERE_INVOKING=1 C:\cygwin64\bin\bash.exe -l

Vous pouvez ajouter un raccourci personnalisé pour ouvrir cygwin à partir de FreeCommander:

  1. Outils - > Définir les raccourcis clavier
  2. Faites défiler jusqu'à "outil favori 01" (ou "outil favori N")
  3. Attribuer nouvelle touche de raccourci: - je utiliser Ctrl + Maj + T

Grande référence: MinTTY Wiki, conseils d'article: commencer dans un répertoire particulier

7
répondu nexayq 2016-04-11 12:40:38

J'utilise et L'icône pour lancer mon cygwin sans le paquet chere.

  1. Créez un raccourci sur mon bureau pour le terminal cygwin.
  2. R-cliquez sur l'icône et sélectionnez propriétés.
  3. dans l'onglet Raccourci, utilisez ceci pour la cible: C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico -c 'cd'
  4. pour démarrer, placez le chemin du répertoire/dossier où vous voulez Lancez cygwin. c'est à dire C:\some\dir\name\here
6
répondu Doug 2014-10-24 14:33:32

J'ai utilisé les lignes de code suivantes pour démarrer zsh dans le répertoire courant dans Win7.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash]
@="Open Cygwin Here"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash\command]
@="\"C:\\Programmieren\\cygwin64\\bin\\mintty.exe\" -i /Cygwin-Terminal.ico /bin/zsh --login -c 'cd \"%V\";zsh'"

Notez que j'ai utilisé %V au lieu de %l ou %1 (puisque les deux ne fonctionnaient pas pour moi)

2
répondu H. Hess 2013-11-30 15:54:28

Trouver le fichier Cygwin.bat et faire du contenu comme ceci:

@echo off
set newpath=%cd:\=/%
pushd "%~dp0"
chdir bin
bash --login -i -c "cd \"%newpath%\"; exec bash"

Ajoute un chemin à cygwin.bat à l'environnement chemin.

Maintenant dans n'importe quel dossier vous pouvez taper à la barre d'adresse:

cygwin

Vous pouvez également le taper lorsque vous en cmd.exe

2
répondu Geograph 2016-06-12 19:27:17

Lorsqu'une nouvelle installation est nécessaire, je crée une "variable d'environnement utilisateur" Windows nommée HOME et lui attribue le chemin d'accès de "mes Documents".

Le programme d'installation de cygwin détecte la variable HOME, La traduit automatiquement en cygpath et la sélectionne comme mon répertoire~.

Cela a bien fonctionné pour chaque poste de travail que j'ai utilisé professionnellement les 5 dernières années (environ 3 ou 4, Win7). J'ai toujours été le seul utilisateur sur ces machines, ne peut pas dire ce que le l'effet est.

2
répondu Adam.at.Epsilon 2017-09-05 14:28:25

J'ai fait un script d'édition de Registre pour ouvrir Cygwin dans N'importe quel dossier que vous faites un clic droit. C'est sur mon GitHub.

Voici mon GitHub

1
répondu umer936 2013-11-25 19:30:43

Ouvrez le terminal Cygwin en tant Qu'Administrateur

Dans powershell (en utilisant chocolatey):

choco install cyg-get

Dans cygwin Installera menu clic droit

cyg-get install chere
chere -i

Maintenant, vous pouvez faire un clic droit et utiliser "bash Prompt Here" dans n'importe quel dossier.

1
répondu Jonathan 2015-08-25 19:08:04

Dans la réponse qui utilise le registre, j'ai trouvé que sur Windows 2008 R2 SP1, vous devez supprimer L'arrière-plan du chemin. De plus, puisque chere et xhere ne font pas partie de cygwin64, voici une solution qui fonctionne pour les deux, combinant le registre et les solutions Send To. Remplacer "E:\cygwin64" avec votre emplacement d'installation:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT \ Directory \ shell \ cygwin_bash] @ = "Ouvrir Cygwin Ici "

[HKEY_CLASSES_ROOT \ Directory \ shell \ cygwin_bash \ command] @="E:\cygwin64\bin\mintty.exe-I /Cygwin-Terminal.ico -- exec / bin / bash.exe --login - C \ " cd '% 1'; exec bash-rcfile ~/.bashrc\""

0
répondu mpersico 2013-11-14 20:42:36

C'est la seule solution de registre Cygwin64 qui a fonctionné pour moi dans Windows 8.1:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\mintty]
@="Mintty from Here"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\Directory\shell\mintty\command]
@="C:\\cygwin64\\bin\\mintty.exe -h always -e /usr/bin/ash -c 'cd  \"$(/usr/bin/cygpath \"%L\")\";  exec /usr/bin/bash  '"

Assurez-vous de modifier votre 'C:\cygwin64' chemin si nécessaire.

0
répondu Smyrnian 2013-11-25 07:20:36

J'ai créé le fichier batch et l'ai placé dans le répertoire /bin de Cygwin. Ce script a été développé de sorte qu'il permet d'installer/désinstaller les entrées de Registre pour ouvrir les dossiers et les lecteurs sélectionnés dans Cygwin. Pour plus de détails voir le lien http://with-love-from-siberia.blogspot.com/2013/12/cygwin-here.html.

Mise à jour: Cette solution fait la même chose que les premières suggestions, mais toutes les manipulations avec le registre Windows sont cachées dans le script.

Exécutez la commande pour installer

cyghere.bat /install

Exécutez la commande pour désinstaller

cyghere.bat /uninstall
0
répondu jsxt 2013-12-12 20:35:17

Vous pouvez ajouter l'icône au shell en ajoutant un champ Icon défini sur le chemin d'accès à votre fichier Cygwin.ico.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash]
@="Cygwin"
"Icon"="\"C:\\cygwin64\\Cygwin.ico\""

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash\command]
@="C:\\cygwin64\\bin\\mintty.exe -e /bin/xhere /bin/bash.exe"
0
répondu STEELIX 2016-12-19 18:54:25

Sur ma machine Windows, il ne prenait pas:

Chere-i-t mintty

Parce que mintty shell n'était pas disponible, mais vous pourriez avoir le choix entre divers autres shells comme ash bash cmd dash mksh pdksh posh tcsh zsh passwd.

J'ai Donc utilisé :

Chere-i-s bash

0
répondu user3065757 2017-04-04 18:03:57

Créez un fichier bash par exemple move.sh qui a le code suivant C:\cygwin64\bin\run.exe -p /bin bash runFile.sh Cela démarre le Cygwin et exécute le runFile.sh présent dans le répertoire bin de Cygwin Supposons que vous souhaitiez naviguer vers un répertoire spécifique, par exemple E:\code alors runFile.sh a le code suivant cd E: cd code

0
répondu LeelaPrasad4648 2017-07-04 04:47:32

Vous pouvez simplement ouvrir le terminal cygwin et écrire: cd et après glisser-déposer le dossier que vous voulez mettre fin à entrer!

0
répondu Panagiotis 2018-09-09 22:02:10
@echo off
C:
SET mypath=%~dp0
c:\cygwin\bin\bash -c "cd '%mypath%'; export CHERE_INVOKING=1; exec /bin/bash --login -i"

Copiez les commandes ci-dessus dans un fichier texte et enregistrez-les sous .bat dans l'un des "votre dossier d'intérêt". Il devrait ouvrir cygwin dans votre "dossier d'intérêt".

-1
répondu Kalyan 2013-11-25 22:51:35

Basé sur la réponse @ LindseyD j'ai créé un fichier BAT simple, qui ouvre cygwin dans le répertoire courant, cela peut être utile (pour moi c'est le cas). En supposant que vous avez le répertoire bin de cygwin dans PATH.

FOR /F %%x IN ('sh -c pwd') DO bash -l -i -c 'cd %%x; exec bash'
-1
répondu Roman Hocke 2014-01-16 11:11:24

J'ai aussi eu un problème avec git, qui avait l'habitude de "voler" mes commandes cygwin-donc j'avais besoin de courir
C:\cygwin\bin\mintty.exe -
mais après avoir installé chere et exécuté chere -i -t mintty -f en tant qu'administrateur (voir ci-dessus), vous pouvez simplement utiliser :
C:\cygwin\bin\mintty.exe -e /bin/xhere /bin/bash.exe "."
J'ai ajouté ceci dans Total Commander en tant que BOUTON PERSONNALISÉ (clic droit sur Panneau > ajouter ...) et il fonctionne très bien.

-1
répondu Jakub Michalko 2014-10-23 13:21:15

Je ne sais pas pourquoi j'ai eu autant de temps, mais cela fonctionne pour moi sur win 10, 64 bit:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash]
@="Open Cygwin Here"

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash\command]
@="C:\\cygwin64\\bin\\mintty.exe -i /Cygwin-Terminal.ico C:\\cygwin64\\bin\\bash.exe --login -c \"cd \\\"%V\\\" ; exec bash -rcfile ~/.bashrc\""
-1
répondu Totty.js 2015-10-28 20:47:13

Probablement le plus simple:

1) Créer un fichier foo.reg

2) insérer le contenu:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\background\shell\open_mintty]
@="open mintty"

[HKEY_CLASSES_ROOT\Directory\background\shell\open_mintty\command]
@="cmd /C mintty"

3) Exécuter foo.reg

Maintenant, faites un clic droit dans n'importe quel dossier, cliquez sur open mintty et il va apparaître mintty dans ce dossier.

-1
répondu lama12345 2015-11-16 00:49:03

Mieux faire comme ci-dessous:

HKEY_CLASSES_ROOT\Directory\shell\BashHere
Enter Data: Bash Here

HKEY_CLASSES_ROOT\Directory\shell\BashHere\command
Enter Data: 

cmd.exe /c C:\cygwin\bin\bash.exe --login -c "cd '%1'; exec /bin/bash"
-2
répondu Shashi Ranjan 2016-04-22 03:24:12