前情摘要:
Windows 10 1703版本开始,shift+右键 不能打开 cmd,只能打开 powershell。
自己动手,丰衣足食~
打开记事本或其他编辑软件,Ctrl + C,Ctrl + V,即 复制-粘贴 以下这段英文
然后将文件另存为 regcmd.reg (注:一定要reg扩展名)
双击,就可以注册了
Windows Registry Editor Version 5.00
; Created by: Huan Yang
; Created on: Nov 9th 2018
; Desktop or backgrouod Right click menu
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\cmd_here]
@="Open cmd"
"Icon"="cmd.exe"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\cmd_here\command]
@="cmd.exe /s /k pushd \"%V\""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\cmd_here_admin]
@="Open cmd(admin)"
"Icon"="cmd.exe"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\cmd_here_admin\command]
@="PowerShell -windowstyle hidden -Command \"Start-Process cmd -ArgumentList '/s,/k,pushd,%V' -Verb RunAs\""
; Created by: Huan Yang
; Created on: Nov 9th 2018
; Folder or Driver Right click menu
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\cmdPrompt]
@="Open cmd"
"Icon"="cmd.exe"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\cmdPrompt\command]
@="cmd.exe \"cd %1\" /s /k pushd \"%V\""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\cmdPrompt_admin]
@="Open cmd(admin)"
"Icon"="cmd.exe"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\cmdPrompt_admin\command]
@="PowerShell -windowstyle hidden -Command \"Start-Process cmd -ArgumentList '\"cd %1\" /s,/k,pushd,%V' -Verb RunAs\""
; Created by: Huan Yang
; Created on: Nov 9th 2018
; Remark: Directory, Drive, Folder
;HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell
;HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell
;HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Drive\shell
;HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell
简单说明:
1. regcmd.reg 是文件名,各位大虾可以自定义任何文件名,但一定要.reg作为扩展名。例如:zhangsan.reg,lisi.reg 都可以。
2. ;开始的行,都可以不要,起注释作用。例如:去掉 ; Created on: Nov 9th 2018
3. Icon是图标,可以不要此行。例如,去掉 "Icon"="cmd.exe"
4. Open cmd 和 Open cmd(admin) 是最终肉眼可见的效果,可以替换任意文本,比如 打开cmd,超级管理员cmd
王道:
后记:
cmd.exe 利用了环境变量的设置,实质是启动了 "C:/Windows/System32/cmd.exe"
powershell.exe 利用了环境变量的设置,实质是启动了 "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"
超级管理员模式启动 cmd.exe,目前这种模式是利用 PowerShell 以RunAs模式 去运行 cmd.exe ,即超级管理员模式
其他的方法,诸如
@="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
未成功
runas /profile /user:administrator cmd.exe
未成功
以上方法,其实就是windows系统的注册表添加了几条记录,具体位置为
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\cmd_here
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\cmd_here\command
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\cmd_here_admin
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\cmd_here_admin\command
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\cmdPrompt
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\cmdPrompt\command
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\cmdPrompt_admin
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\cmdPrompt_admin\command
如果要去掉这个功能,可以手动删除
也可以执行注册表的脚本
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\cmd_here]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\cmd_here_admin]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\cmdPrompt]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\cmdPrompt_admin]
也看到一些地方描述HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell
尚未搞清楚其必要性
如果要像1703之前一样,仅在shift模式下,才能看到该选项,可以添加 Extended
[HKEY_CLASSES_ROOT\Directory\Background\shell\cmd_here]
@="Open cmd"
"Icon"="cmd.exe"
"Extended"=""
如果不想修改注册表,可以创建一个快捷方式,快速打开
方法为,右键 New --> Shortcut, 然后输入 cmd.exe
管理员模式:右键 New --> Shortcut, 然后输入 powershell.exe -windowstyle hidden -Command "Start-Process cmd -Verb RunAs"
同理,利用windows提供的Run程序( Win + X 选择Run,或者 Win + R,或者 开始按钮右键选择 Run),输入 cmd.exe 或 powershell.exe -windowstyle hidden -Command "Start-Process cmd -Verb RunAs" 也可以打开命令行模式
欢迎指正与补充完善