Is there a way (probably a macro) how to open cmd in current file's directory?

Say I am editting a file D:\foo\bar.txt and would like to open cmd in D:\foo\. It would really help running various precompilers etc.

link|improve this question

80% accept rate
feedback

1 Answer

up vote 2 down vote accepted

Under the Run menu there is an option Open current dir cmd which does exactly what you want.

enter image description here

If your file is on a UNC path then this won't work as it's not possible to cd to a UNC on a command line.

If your source file is on a different drive letter than Notepad++ then it will switch to the correct path but won't switch the drive letter as it appears not to be adding the /D switch to the cd command. However, immediately entering x: Enter (where x is the drive letter where your source file is located) will switch you to the correct path.

You can make the /D default for this by editing the shortcuts.xml file in your user profile (on Win7 it is located in D:\Users\<username>\AppData\Roaming\Notepad++\shortcuts.xml) and adding /D to the Open current dir cmd line:

<Command name="Open current dir cmd" Ctrl="no" Alt="no" Shift="no" Key="0">cmd /K cd /D $(CURRENT_DIRECTORY)</Command>

NB: You cannot edit this file using Notepad++ as it will be overwritten by the in memory options when Notepad++ is closed. Ensure there is no running Notepad++ and edit the xml file using MS Notepad or any other text editor.

(EDIT: Patch submitted to Notepad++ on SourceForge to correct this: http://sourceforge.net/tracker/?func=detail&aid=3475087&group_id=95717&atid=612384)

If you want to assign to a shortcut key select Run -> Modify Shortcut/Delete Command...

enter image description here

enter image description here

link|improve this answer
Which unfortunatelly opens the notepad++ install path. See grab.by/bA2T. What could go wrong? I even tried to add the notepad++ folder to the PATH, but that didn't help. – Petr Marek Jan 17 at 19:54
Oh I see your edit and I can confim that on drive_letter: it changes the path correctly. Anyway, that's still odd. Is there a way how to make this work by default (probably edit the macro written somewhere deep in n++)? There would be no harm typing the drive_letter before each cd – Petr Marek Jan 17 at 20:10
Thanks for your answer. Strangely, cmd /K cd /D $(CURRENT_DIRECTORY) doesn't work when in shortcuts.xml, while it does work in the shell itself. Dunno what's wrong... – Petr Marek Jan 17 at 20:32
1  
you cannot edit shortcuts.xml using Notepad++ as it will be overwritten again with the in memory values when you exit Notepad++. ensure all Notepad++ are closed then edit using MS Notepad. Ensure you are updating the xml file in your user profile, not the one in the install dir. – Shevek Jan 17 at 20:55
1  
I found a bug raised for this issue on sourceforge and have submitted a patch: sourceforge.net/tracker/… – Shevek Jan 17 at 20:56
show 3 more comments
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.