Abra Cygwin en una carpeta específica

How can I create a Cygwin shortcut that will open Cygwin at a specific folder? This would obviate having to type

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

each time I launch Cygwin.

preguntado el 09 de marzo de 12 a las 16:03

create a .bat file: here is a tutorial computerhope.com/batch.htm -

Note: The chere package may need to be instantiated with administrator privileges. If you are caught by this, and are tempted to use sudo, you may not get the expected result. In this case, login as an admin user on the windows machine. -

29 Respuestas

When you install Cygwin (or if you’ve already installed it, download it again and start setup again to run an update), make sure that you select the chere package under the "Shells" category.

After Cygwin is launched, open up a Cygwin terminal (as an administrator) and type the command: chere -i -t mintty -s bash.

Now you should have "Bash Prompt Here" in the Windows right-click context menu.

(menta is Cygwin's default terminal. If you don't choose it with the -t option, your "Bash Prompt Here" will use the same terminal as the Windows Command Prompt, which prevents horizontal resizing.)

Respondido 30 Jul 18, 09:07

Awesome find, thanks! I discovered that you can specify the terminal you want to open using -t, e.g., to open mintty you use chere -i -t mintty - kevin condón

Just tested with 64bit cygwin (1.7.27) and chere seems to now exist. pro-tip: remember to launch cygwin terminal with admin privileges. - BuildTheRobots

One more thing to note. If you already did this with chere -i -t mintty -f to force the overwrite. You will still need to run cygwin as an administrator as well. - greg jennings

Had permission issues on W7x64 (Error (5): Access is denied. Hive not writable). Resolved by launching Cygwin as administrator. - DmitrySandalov

Cygwin had no default shell in my case, so adding -s bash para hacer chere -i -t mintty -s bash made this work for me - Bryce Guinta

Here's what I use. It doesn't require chere package or registry tinkering. Works on Windows 7.

Go to your "Send To" folder:


Create a shortcut named Bash Here teniendo esto en el Target campo:

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

In the Windows Explorer, you right-click on a folder & select Send To > Bash Here.

And here's the opposite trick, opening a Windows Explorer in your current bash dir. Create this alias:

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

Nota la cygpath -w . part above is enclosed in back-ticks.

Now just type winx at the bash prompt, and a Win Explorer pops up there.

Note: If winx directs you to your documents folder, try

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

Respondido 26 Jul 17, 16:07

Very nice trick, but the winx alias didn't work on my Cygwin setup. I had to remove both backslashes and replace . con $PWD para que funcione. - no2qubit

What if the shortcut (adapted to use the Cygwin64 path of my install) opens cygwin to my user folder? :( Maybe this only works with 32-bit Cygwin? - Alex Salón

This one is also working for me alias winx='/cygdrive/c/Windows/explorer.exe /e,$(cygpath -wa .)' - Wakan Tanka

In cygwin 2.6.0 (on Win 7 x64) it can be done much easier: cygstart . to open Explorer with the current folder, or any folder syntax cygstart .., cygstart /your/path etc ... - 244an

Aviso: C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico C:\cygwin\bin\bash.exe -l -c "cd \"$0\" ; exec bash keeps file handle open to $0 directory, even after you change working directory to something else. What's worse spawning copy of the window (ALT+F2), even when you already have changed working directory, opens another file handle to $0. This may interfere with some operations that may want to delete/modify $0 in any process. If you get 'Permission Denied' error when accessing $0 this might be the cause - mate

From the cygwin terminal, run this command:

echo "cd your_path" >> ~/.bashrc

The .bashrc script is run when you open a new bash session. The code above with change to the tu camino directory when you open a new cygwin session.

respondido 21 nov., 14:20

THIS IS THE ANSWER! SO EASY. - devin walker

Yes ! That is easy ! Vote up ! - Alex Byrth

This is not the answer, because it doesn't create a shortcut that uses said directory, as required by the question, it changes the behavior of all methods of starting the Cygwin shell. You shouldn't change a global setting (or login profile) to solve a local problem. - ben voigt

Una vez usé exactamente this method to append a user to the password file, accidentally leaving off one of the > characters. Then I logged out :-) - paxdiablo

@paxdiablo ouch - bschwagg

I made a .reg file that puts an "Open Cygwin Here" option in the right-click context menu. It depends on the Cygwin "chere" package, which you can install using apto-cyg if you didn't install it in the initial setup.

Windows Registry Editor Version 5.00

@="Open Cygwin Here"

@="C:\\cygwin\\bin\\mintty.exe -e /bin/xhere /bin/bash.exe"

Respondido el 28 de enero de 16 a las 04:01

For those who are wondering how to use this, just copy the gray-background text and put it in a text file called "foo.reg" and double click it. - andres moylan

+1 the best solution here. And thanks for mentioning apt-cyg, I didn't know about this tool - user11153

This was exactly what I was looking for, and it even helped me with other things because even the Microsoft site didn't get me the same result. - FilBot3

I had to change to "cygwin" but I get this error: "Failed to run /bin/xhere: No such file or directory" - Totty.js

@Totty.js are you sure you've installed the 'chere' package in Cygwin? - Jeutnarg

For cygwin64 or installations without chere you can use the following command in a registry entry (assuming windows due to your path, also assuming cygwin installation directory is c:\cygwin64)

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

Works on Windows 7 and 8 Registry file available for download here: http://tomkay.me/blog/Cygwin64---Open-Here-18

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

@="Open Cygwin Here"

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

@="Open Cygwin Here"

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

Respondido 02 Jul 14, 15:07

Can you explain why you have 3 (x2) registry entries? - no2qubit

they are for Directory, Drive and Background contexts - Tom Kay

Finally, one solution which worked for me, although I have some issues understanding it completely ;-) [the 'bash' after 'exec bash']. Hint: you can replace the 3 entries with 1: 'Folder' instead of 'Directory', 'Drive' and 'Background'. - t0r0X

with just 'Folder', the link appears in the context menu of a drive, but fails to execute. However, I have been able to cut down to 2 entries with 'Folder' and 'Directory\Background' - Tom Kay

For emacs: "C:\\cygwin\\bin\\mintty.exe -i /Cygwin-Terminal.ico /bin/bash -l -c 'emacs \"cygpath \"%V\"\";'" - Jan Matousek

If you want to have that directory as your default, simply add a cd declaración a tu ~/.profile archivo.

What I tend to do is use that method to set my usual directory, plus define aliases for my common cases as well:

alias tom="cd /users/tom"

or your equivalent. This lets me change directories very fast.

respondido 10 mar '12, 16:03

Does that alias have to be added to the ~/.profile file, too, or just run once? - yo no

@tomeoftom, if you just run that within a shell, it will only affect that shell. It won't affect any others you start. So, if you want it to be always available, you need to put it in one of your startup files (of which ~/.profile is one possibility). - paxdiablo

it didn't work for me when put in ~/.profile, but ~/.bashrc worked. - sopa

@zupa, the rules as to which startup files are sourced are reasonably complicated (though it's all there in the bash man page if you dig deep enough). That's why I stated .profile as one possibility. - paxdiablo

.profile ultimately sources .bashrc so you might want to append that command into bashrc instead. (.profile didn't work for me) - laertis

As two7s_clash said you first need to install chere package and setup mintty:

  1. Open Cygwin terminal as administrator
  2. apt-cyg install chere
  3. chere -i -t mintty

You are now able to open cygwin in specific directory with a Right mouse click in Windows Explorer (Context Menu) and select "Bash Prompt Here".

You can also open cygwin from a specific directory using windows command prompt:

  1. Open windows command prompt
  2. Navigate (cd) to custom directory
  3. Implementación C:\cygwin64\bin\mintty.exe C:\cygwin64\bin\env.exe CHERE_INVOKING=1 C:\cygwin64\bin\bash.exe -l

    This command will open cygwin with current directory taken from command prompt.


This command can also be used to open cygwin from custom file manager, like FreeCommander.

To open cygwin with current directory taken from FreeCommander, do the following:

  1. Tools -> Favorite Tools -> Favorite tools edit... (Ctrl + Shift + Y)
  2. Add a new toolbar (+ Icon), Shortcut: Insert

    • Name: cygwin
    • Program or folder: C:\cygwin64\bin\mintty.exe
    • Start folder: %ActivDir%
    • Parámetro: C:\cygwin64\bin\env.exe CHERE_INVOKING=1 C:\cygwin64\bin\bash.exe -l

You can add custom shortcut to open cygwin from FreeCommander:

  1. Tools -> Define keyboard shortcuts
  2. Scroll down to "Favorite tool 01" (or "Favorite tool N")
  3. Assign new shortcut key: I use Ctrl + cambio + T

Gran referencia: MinTTY Wiki, article Tips: Starting in a particular directory

Respondido 11 Abr '16, 13:04

I use and Icon to launch my cygwin without the chere paquete.

  1. Create a shortcut on my desktop for the cygwin terminal.
  2. R-click the icon and select properties.
  3. On the shortcut tab, use this for the TARGET: C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico -c 'cd'
  4. For START IN, Put the path of the dir/folder where you want to launch cygwin. i.e. C:\some\dir\name\here

Respondido 24 Oct 14, 15:10

ok 2 things 1. appending -c in "Target" makes no difference as long you provide a path in "Start In" 2. this solution creates an issue with PATH. cygwin fails to prepend /usr/local/bin:/usr/bin in the system PATH leaving unable to invoke some of its binaries The configuration probably reside in /etc/profile >> ` if [ ${CYGWIN_NOWINPATH-addwinpath} = "addwinpath" ] ; then ` - laertis

To create a Windows shortcut that launches a Cygwin terminal in a directory of your own choosing, try the following:

  • Right-click on the Windows desktop, select 'New', and then select 'Shortcut'.

  • For location of the item, enter the following text, changing the mintty path as needed and substituting the name of the desired directory where indicated.

    C:\cygwin64\bin\mintty.exe /bin/sh -lc 'cd DESIRED-DIRECTORY; exec bash'

    For example, the OP would use the following text:

    C:\cygwin64\bin\mintty.exe /bin/sh -lc 'cd /cygdrive/c/Users/Tom/Desktop/; exec bash'
  • Haga clic en Siguiente'.

  • Enter the desired name for the shortcut and click 'Finish'.

Multiple shortcuts can be placed on the desktop to open Cygwin terminals in various often-accessed directories.

Inspired by solution posted on How to open a Cygwin shell at a specific directory from Netbeans? at superusuario.com.

Respondido el 13 de enero de 19 a las 14:01

I used the following lines of code to start zsh in the current directory in Win7.

Windows Registry Editor Version 5.00

@="Open Cygwin Here"

@="\"C:\\Programmieren\\cygwin64\\bin\\mintty.exe\" -i /Cygwin-Terminal.ico /bin/zsh --login -c 'cd \"%V\";zsh'"

note that i used %V instead of %L or %1 (since both didn't work for me)

respondido 30 nov., 13:15

Find file Cygwin.bat and make content like this:

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

Add path to cygwin.bat to environment PATH.

Now in any folder you can type to address bar:


Also you can type it when you in cmd.exe

Respondido el 12 de junio de 16 a las 20:06

When a fresh install is needed, I create a Windows "user environment variable " named HOME and assigns it the path of wherever "My Documents" reside.

The cygwin installer detects the HOME variable, automatically translates this into a cygpath and selects this it to be my ~ directory.

This has worked fine for every workstation I have used professionally the last 5 years (about 3 or 4, Win7). I have always been the only user on these machines, cannot say what the effect is.

Respondido el 05 de Septiembre de 17 a las 15:09

I have made a registry edit script to open Cygwin at any folder you right click. It's on my GitHub.

Here's my GitHub

Muestra RegEdit code from Github for 64-bit machines:


@="&Cygwin Bash Here"

@="C:\\cygwin64\\bin\\mintty.exe -i /Cygwin-Terminal.ico C:\\cygwin64\\bin\\bash.exe --login -c \"cd \\\"%V\\\" ; exec bash -rcfile ~/.bashrc\""

@="&Cygwin Bash Here"

@="C:\\cygwin64\\bin\\mintty.exe -i /Cygwin-Terminal.ico C:\\cygwin64\\bin\\bash.exe --login -c \"cd \\\"%V\\\" ; exec bash -rcfile ~/.bashrc\""

Respondido el 10 de enero de 19 a las 18:01

If you get "Error accessing the registry." error see answer by @mpersico below... would have saved me 15 minutes :) - daniel sokolowski

Open Cygwin terminal as Administrator

In powershell (using chocolatey):

choco install cyg-get

In cygwin Will Install right-click menu

cyg-get install chere
chere -i

Now you can right click and use "Bash Prompt Here" in any folder.

Respondido 25 ago 15, 20:08

Save the following code as a file: cygwin_bash.reg

This will add opening Cygwin in the current directory and opening Cygwin in the specified folder at the same time.

Utilizar ".bashrc" en lugar de ".bash_profile" configuration. Because of exec bash. .bashrc is executed for interactive non-login shells. see: https://apple.stackexchange.com/questions/51036/what-is-the-difference-between-bash-profile-and-bashrc

Windows Registry Editor Version 5.00

@="Cygwin Here"

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

@="Cygwin Here"

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

Respondido 20 Oct 20, 04:10

You can add the icon to the shell by adding an Icon field set to the path to your Cygwin.ico archivo.

Windows Registry Editor Version 5.00


@="C:\\cygwin64\\bin\\mintty.exe -e /bin/xhere /bin/bash.exe"

Respondido el 19 de diciembre de 16 a las 18:12

I think a prerequisite to xhere's existence is the installation of chere, as mentioned in other answers. - Samuel

On my Windows machine it was not taking:

chere -i -t mintty

Because mintty shell was not available,but you might have choice of various other shells like ash bash cmd dash mksh pdksh posh tcsh zsh passwd.

so I used :

chere -i -s bash

Respondido 04 Abr '17, 19:04

Mintty is not a shell, it is a terminal emulator. - Dedo

¿Cómo responde esto a la pregunta original? - Leigh

This will provide the help to those who do not have mintty in their system and get error when trying to attempt the solution provided above, I also followed the solution provided above but it didnt work on my windows machine, but my answer solved the problem. - user3065757

In the answer that uses the registry, I found that on Windows 2008 R2 SP1, you need to drop the Background out of the path. Further, since the chere and xhere are not part of cygwin64, here is a solution that works for both, combining the registry and the Send To solutions. Replace 'E:\cygwin64' with your install location:

Windows Registry Editor Version 5.00

@="Open Cygwin Here"

@="E:\\cygwin64\\bin\\mintty.exe -i /Cygwin-Terminal.ico --exec /bin/bash.exe --login -c \"cd '%1' ; exec bash -rcfile ~/.bashrc\""

Respondido el 10 de enero de 19 a las 18:01

This is the only Cygwin64 registry solution that worked for me in Windows 8.1:

Windows Registry Editor Version 5.00

@="Mintty from Here"

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

Make sure you modify your 'C:\cygwin64' path as necessary.

respondido 25 nov., 13:07

I have created the batch file and put it to the Cygwin's /bin directory. This script was developed so it allows to install/uninstall the registry entries for opening selected folders and drives in Cygwin. For details see the link http://with-love-from-siberia.blogspot.com/2013/12/cygwin-here.html.

update: This solution does the same as early suggestions but all manipulations with Windows Registry are hidden within the script.

Perform the command to install

cyghere.bat /install

Perform the command to uninstall

cyghere.bat /uninstall

Respondido el 12 de diciembre de 13 a las 20:12

I had also problem with git, that used to "steal" my cygwin commands - so i needed to run
C:\cygwin\bin\mintty.exe -
but after installing chere y ejecutando chere -i -t mintty -f as admin (see above), you can simply use :
C:\cygwin\bin\mintty.exe -e /bin/xhere /bin/bash.exe "."
I added this in Total Commander as custom button (right click on panel > add ...) and it works very well.

Respondido 23 Oct 14, 14:10

Create a bash file say move.sh which has the following code C:\cygwin64\bin\run.exe -p /bin bash runFile.sh This starts the Cygwin and executes the runFile.sh present in the bin directory of Cygwin Suppose you want to navigate to a specific directory say E:\code then runFile.sh has the following code cd E: cd code

Respondido 04 Jul 17, 05:07

You can just open cygwin terminal and write: cd and after drag n drop the folder you want end enter!

Respondido el 09 de Septiembre de 18 a las 23:09

While this doesn't fully solve the question asked, it is a very useful tip. Thanks. - Por favor

Finally an answer which is independent of Cygwin itself.

This uses the fact that, if I am on the directory C:\\Cool and I call the command C:\\Cygwin\\bin\\mintty.exe, mintty will automatically open on the current directory, i.e., C:\\Cool.

First, you will need to create the file C:\\Cygwin\\silent_run.vbs con los siguientes contenidos:

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)
            arglist = arglist & " " & arg
        End If
End With

CreateObject("Wscript.Shell").Run Trim( arglist ), 0, False

Next, to install this answer, you will use a Windows Registry file. For that, just put the contents of the following file into a file named C:\\Cygwin\\AddMinttyToContextMenu.reg

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\Terminal Here]
@="Terminal Here"

[HKEY_CLASSES_ROOT\Directory\Background\shell\Terminal Here\Command]
@="\"C:\\Cygwin\\bin\\mintty.exe\" -w max"

[HKEY_CLASSES_ROOT\Directory\shell\Terminal Here]
@="Terminal Here"

[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"

Now, Fix all hard coded paths, i.e, C:\\Cygwin to the actual location where your Cygwin installation is on.

Then, just open the file C:\\Cygwin\\AddMinttyToContextMenu.reg to install your new registry entries and you are done.

El archivo C:\\Cygwin\\AddMinttyToContextMenu.reg works by opening first a cmd.exe, changing to the directory where you are in, then, calling C:\\Cygwin\\silent_run.vbs para abrir el C:\\Cygwin\\bin\\mintty.exe terminal with the command line options -w max, i.e., to open it maximized.

La secuencia de comandos C:\\Cygwin\\silent_run.vbs is required to open the C:\\Cygwin\\bin\\mintty.exe terminal without keeping the first cmd.exe we opened, open.

La primera entrada de C:\\Cygwin\\AddMinttyToContextMenu.reg no utilizar C:\\Cygwin\\silent_run.vbs because by default the HKEY_CLASSES_ROOT\Directory\Background\shell keys are already open in the current directory, then, we can just call C:\\Cygwin\\bin\\mintty.exe directly to get it working out of the box.


  1. How add context menu item to Windows Explorer for folders
  2. VBScript pass commandline argument in paths with spaces
  3. ¿Cómo pasar un comando con espacios y comillas como un solo parámetro a CScript?
  4. calling vbscript from another vbscript file passing arguments
  5. https://ss64.com/vb/syntax-args.html
  6. Check if string contains space
  7. ¿Ejecuta la línea de comando silenciosamente con VbScript y obtiene salida?
  8. http://www.vbsedit.com/html/6f28899c-d653-4555-8a59-49640b0e32ea.asp
  9. https://superuser.com/questions/62525/run-a-batch-file-in-a-completely-hidden-way
  10. How to run Batch script received as argument on VBscript?
  11. ¿Puedo pasar un argumento a un VBScript (archivo vbs iniciado con cscript)?

respondido 15 nov., 19:19

@echo off
SET mypath=%~dp0
c:\cygwin\bin\bash -c "cd '%mypath%'; export CHERE_INVOKING=1; exec /bin/bash --login -i"

Copy above commands in a text file and save it as .bat in any of "your folder of interest". It should open cygwin in "your folder of interest".

respondido 25 nov., 13:22

based on @LindseyD answer I created a simple BAT file, that opens cygwin in current directory, it may be useful (for me it is). Assuming that You have cygwin's bin directory in PATH.

FOR /F %%x IN ('sh -c pwd') DO bash -l -i -c 'cd %%x; exec bash'

Respondido el 16 de enero de 14 a las 11:01

I don't know why I had to wast so much time, but this works for me on win 10, 64 bit:

Windows Registry Editor Version 5.00

@="Open Cygwin Here"

@="C:\\cygwin64\\bin\\mintty.exe -i /Cygwin-Terminal.ico C:\\cygwin64\\bin\\bash.exe --login -c \"cd \\\"%V\\\" ; exec bash -rcfile ~/.bashrc\""

Respondido 28 Oct 15, 20:10

Probably the simplest one:

1) Create file foo.reg

2) Insert content:

Windows Registry Editor Version 5.00

@="open mintty"

@="cmd /C mintty"

3) Execute foo.reg

Now just right-click in any folder, click open mintty and it will spawn mintty in that folder.

respondido 16 nov., 15:00

Best to do like below:

Enter Data: Bash Here

Enter Data: 

cmd.exe /c C:\cygwin\bin\bash.exe --login -c "cd '%1'; exec /bin/bash"

Respondido 22 Abr '16, 04:04

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.