5

There are some solution online but most of them just add the command when you right click on the folder. I've find a solution (which work both) for Run As Administrator here. But it works just for administrator access.

  • Is that a question? The format of this site is question and answer. It's fine to answer your own question, but the thing above should be a question, and the answer(s) should appear below. – dangph Jan 14 '14 at 4:19
  • @dangph, It is not a question but a possible discussion about better solution to have both commands in and on a folder. I've searched and read many topics on the issue but none of them point out the Background Shell for having the command inside the folder. Many ps1 scripts simple doesn't work and so on. However, if Admins thinks this is a violation of forum rules then please move it to another topic as answer or simply delete it. However I think this thread is useful. – SdidS Jan 14 '14 at 13:01
  • that's fine, but you should pose it as a question, and then you can provide your answer to your own question below. Or if there is already an existing question, you should answer that. I'm sure you are providing useful information, but it's best to present that in the format that people will expect. – dangph Jan 14 '14 at 21:18
  • Ok thanks, I changed the post to be in Q/A form. – SdidS Jan 14 '14 at 22:16
8

Here is the solution:

This adds powershell to the opening window (i.e. when right click on a file)

[HKEY_CLASSES_ROOT\Directory\shell]
    1. Create a key such as "powershell" or whatever you want without space
    2. Set the default value of the key as your desired text, e.g.:"PS here dear"
    3. Create a nested key inside the "powershell" key as "command"
    4. Edit the command value by this:
        C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -NoProfile -Command Set-Location -LiteralPath '%L'

This adds powershell to right click menu inside the folder

[HKEY_CLASSES_ROOT\Directory\Background\shell]
    1. Create a key such as "powershell" or whatever you want withuout space
    2. Set the default value of the key as your desired text e.g "PS here dear"
    3. Create a nested key inside the "powershell" key as "command"
    4. Edit the command value by this:
        C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -NoProfile -Command Set-Location -LiteralPath '%V'

Note to %V and %L differences in the command

| improve this answer | |
  • 1
    You can do similar things at HKEY_CLASSES_ROOT\*\shell and utilize the %1 variable to send the highlighted filename into your script. The * key applies shell ext to all file types. – Knuckle-Dragger Jan 15 '14 at 16:17
3

This is SdidS's solution as a regedit file:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\powershell_here]
@="PowerShell Here"

[HKEY_CLASSES_ROOT\Directory\Background\shell\powershell_here\command]
@="C:\\\\Windows\\\\system32\\\\WindowsPowerShell\\\\v1.0\\\\powershell.exe -NoExit -NoProfile -Command Set-Location -LiteralPath '%V'"
| improve this answer | |

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