I'm trying to create a shell command to open a given directory in the Explorer folder that the command is executed from.
I would add it as an entry to the right-click menu in regedit (HKCR\Directory\background\shell), but I can't figure out how to actually make the folder open in the current Explorer instance. (like the "open file location" option).
The open file location feature (COpenFileLocationMenu in shell32) is a shell extension, not a simple static command in the registry. COpenFileLocationMenu also implements IObjectWithSite.
When the IContextMenu::InvokeCommand method in COpenFileLocationMenu is called, it calls IUnknown_QueryService(..., SID_SInPlaceBrowser, IShellBrowser) on its site so it can navigate the Explorer window with IShellBrowser.
Background menu items receive the folder location in IShellExtInit::Initialize and normal menu items can use IShellBrowser::QueryActiveShellView to get the view and then find the current location...
If you don't want to write a shell extension then you have to settle for the scriptable ShellWindows object but you would have to do some guessing to find the correct window, perhaps by PInvoke'ing GetForegroundWindow from Powershell.
I currently have an Internet Shortcut file "My Link.url":
[InternetShortcut]
URL=https://somewebsite.com
I believe Internet Shortcut files are always opened in the default browser.
Does anyone know how to force opening in Internet Explorer?
I have come across .website files but Windows Security Shield (is that the right name?) blocks it opening.
Use case: *nix server creating a file that will be downloaded to the users desktop.
You should be able to use a normal .lnk shortcut point it to iexplore.exe and supply your url as the first parameter
So when i open the cmd the path is:
C:\Users\Admin
How to change it to
D:\****\*****
or
USB:\****\****
Probably the easiest way for you to do this for you is; open Windows Explorer.
Type the following in the address bar: %windir%\system32.
Then find the file called cmd.exe.
Right click on the file, then Pin it to the taskbar; or Pin it to the start menu, or save it as a shortcut to your desktop.
Find the shortcut you just made. Right click on that file, and choose properties.
Under the Shortcut tab in the dialog, goto the text input that says Start In. Enter the directory you want it to start in in that field. Click OK.
Use the Cmd shortcut you just made, and you will start in that directory.
Note: If you want to use USB:, you will need to look into My Computer and figure out what drive letter has been assigned to the USB device and choose that letter for the path.
Note: All of this is really trivial, because from the cmd prompt you can type D:\ to navigate to D drive or pushd D:\***\*** to navigate to a folder on the D drive.
I have a box running Windows Server 2008 R2.
If I look at a certain directory with Windows Explorer -- c:\windows\system32\inetsrv\config -- I see 2 subdirectories and 3 files.
Then I go into a program and use an open box to open a file. I navigate to that directory. I can see the 2 subdirectories, but no files appear. If I type in the name of the file (applicationHost.cofnig), it says that it does not exist.
I've tried this with Notepad++, Wordpad, and Filezilla Client. The filter is set to ..
What's really killing me is that I'm trying to open this file from within a VB program, and it's saying not found.
Oh, and here's a kicker: If I access the file with a UNC name, then it works. That is, trying to open "c:\windows\system32\inetsrv\config\applicationhost.config" gives a not-found. But if I write "\server1\c$\windows\system32\inetsrv\config\applicationhost.config", then it works. If I change my VB program to use a UNC name, it works. So I suppose I have a work-around, but I'd really like to understand what's going on.
If instead of logging into the server, I run Notepad++ on my desktop, and enter \server1\c$ and then navigate from there, all three files show up.
Oh, and also, if in Windows Explorer I right-click the file and select "edit with notepad++", it opens. But from within Notepad++, trying to use the open box doesn't work. I tried navigating through the directory tree, and I tried just typing in the full path. Either way, "not found".
I checked my permissions and it says I have "full access" to the directory and to the file.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 7 years ago.
Improve this question
I frequently find myself with a folder open in Windows, wishing to have a command prompt open with the same working directory.
I am aware of Power Toys "Command Prompt", but that only works as a context menu item on the folder, and not from inside the folder if you are already there. I know you can navigate to the parent directory, and use it from there, but if the parent has thousands of directories in it, this is not so convenient. I have tried some home-brewed batch files associated with folder actions in explorer, but those suffer from similar problems.
So, what is the quickest way to open a command prompt with a working directory of the current windows explorer folder?
My current approach: (horrible)
Alt - D, Ctrl - C (copy path)
Win - R, "cmd", Enter (start command prompt)
"cd", Space (start a change directory command)
Alt - Space, e, p (paste directory)
Enter (execute change directory)
I know there is something better! What is it?
Hold Shift while Right-Clicking a blank space in the desired folder to bring up a more verbose context menu. One of the options is Open Command Window Here. This works in Windows Vista, 7, 8, and 10. Since Windows 10 Creators Update, the option has been replaced with Open PowerShell Here. However, there are ways to enable Open Command Window Here again.
Just type "cmd" to location bar, that's it. It will start a new command prompt in current path.
This solution was confirmed to work in Windows XP, Vista, 7, 8 and 10 (including Creators Update).
Keystrokes to move the focus to the location bar:
AltD in English (pointed out by Tim Stewart in the comments)
AltE in German
Inside your current folder, simply press Shift+Alt+F --then--> Enter.
The prompt will appear with your current folder's path set.
Note: That works only in Windows 7 / Vista. What it does is that drops the "File" menu down for you, because the "Shift" key is pressed the option "Open command window here" is enabled and focused as the first available option of "File" menu. Pressing enter starts the focused option therefor the command window.
Edit:
In case you are in a folder and you already selected some of its contents (file/folder) this wont work. In that case Click on the empty area inside the folder to deselect any previously selected files and repeat.
Edit2:
Another way you can open terminal in current directory is to type cmd on file browser navigation bar where the path of current folder is written.
In order to focus with your keyboard on the navigation bar Ctrl+L. Then you can type cmd and hit Enter
Right-click the title-bar icon of the Explorer window. You'll get the current folder's context menu, where you'll find the "command window here" item.
(Note that to see that menu item, you need to have the corresponding "power toy" installed, or you can create the right registry keys yourself to add that item to folders' context menus.)
As a very quick solution I can give you this. I tested this on Windows 8.1
1- Find File and Right Click on Command Prompt on File Explorer and then add command prompt to your Quick Access Toolbar:
2- After adding it you can access the folder from here:
That will open a command prompt in there for you.
On vista and windows 7:
Alt+d -> it will put focus on the address bar of the explorer window
and then, type the name of any program you would launch using WIN+r
hit Enter
The program will start with its current directory set to that of the explorer instance.
e.g.:python, ghci, powershell, cmd, etc...
For Windows vista and Windows 7 ,to open the command prompt
1) go to folder you want to work
2)In address bar type- cmd
press enter
it will open the command prompt for that location
You can edit the registry to add the Command Prompt item to the context menu. Here are a couple of .reg files that I use.
Cmdhere.reg - for WinNT/2000/XP/Vista/7:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\OpenNew]
#="Command Prompt"
[HKEY_CLASSES_ROOT\Directory\shell\OpenNew\Command]
#="cmd.exe /k cd %1"
[HKEY_CLASSES_ROOT\Drive\shell\OpenNew]
#="Command Prompt"
[HKEY_CLASSES_ROOT\Drive\shell\OpenNew\Command]
#="cmd.exe /k cd %1"
Doshere.reg - for Win9x:
REGEDIT4
[HKEY_CLASSES_ROOT\Directory\shell\OpenNew]
#="MS-DOS Prompt"
[HKEY_CLASSES_ROOT\Directory\shell\OpenNew\Command]
#="command.com /k cd %1"
[HKEY_CLASSES_ROOT\Drive\shell\OpenNew]
#="MS-DOS Prompt"
[HKEY_CLASSES_ROOT\Drive\shell\OpenNew\Command]
#="command.com /k cd %1"
Copy this into an empty text file and change the extension to .reg. Double-clicking on this in Windows Explorer will add these key to the registry.
I use StExBar, a Windows Explorer extension that gives you a command prompt button in explorer along with some other cool features (copy path, copy file name & more).
https://tools.stefankueng.com/StExBar.html
EDIT:
I just found out (been using it for more than a year and did not know this) that Ctrl+M will do it with StExBar. How's that for fast!
Almost the same as yours:
Alt+d, Ctrl+c
Win+r
cmd /K cd , Ctrl+v, ENTER
If that's so bothering, you could try to switch to windows explorer alternative like freecommander which has a toolbar button for that purpose.
I use a lot the "Send To" functionality.
I create my own batch (.bat) files in the shell:sendto folder and send files/folders to them using the context menu (to get there just write 'shell:sendto' in location bar).
I have scripts to perform all sort of things: send files by ftp, launch a php server in the current folder, create folders named with the current date, copy sent path to clipboard, etc.
Sorry, a bit offtopic but useful anyway.
Tried the answer given by Tough Coder in Windows 7 and it works!
Create a shortcut to cmd.exe in %HOMEDRIVE%%HOMEPATH%\Links, open its file properties and change the field 'Start at' to %1 ('Iniciar en' translated from spanish).
Now drag folders to it and you'll see the magic. It works too in all standard Open File dialogs. wow!
ps: those 'strange' tabs above in my picture are because I use Clover. I recommend it!
Use the following in command prompt to open your current location in windows explorer:
C:\your-directory> explorer .