研究了一下午,终于实现了在当前目录以管理员身份运行Windows Terminal
1.通过.reg直接向注册表添加表项
注释中写了每句的意思以及作用
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOTDirectoryBackgroundshell
unas]
@="Open Windows Terminal Here" ; 这是在右键菜单中显示的项目名称
"ShowBasedOnVelocityId"=dword:00639bc8 ; 这一项可以实现管理员打开cmd
; "Icon"={} ; 打开注释,将"{}"替换为程序或ico图标地址,这里是2位16进制,提议完成添加后再去注册表修改图标
[HKEY_CLASSES_ROOTDirectoryBackgroundshell
unascommand]
@="cmd.exe /s /c pushd "%V" & "{}\AppData\Local\Microsoft\WindowsApps\wt.exe"" ; 最后写了每个参数的作用
; "{}"用在cmd中输入%USERPROFILE%输出的结果替换,注意双斜杠以防止转义
2.手动添加
1.找到表项HKEY_CLASSES_ROOTDirectoryBackgroundshell,右键shell项,新建项runas(这个名字不能改,是管理员启动的关键),默认值是在右键菜单中显示的项目名称


2.在此项下新建一个名为ShowBasedOnVelocityId的DWORD(32位)值,数值为十六进制639bc8,

*3.新建可扩充字符串值Icon,数值为图标位置或者带有图标的应用程序位置,我直接用了wt.exe的路径,此项为可选

4.新建名为command的项,默认值为cmd.exe /s /c pushd "%V" & "{}AppDataLocalMicrosoftWindowsAppswt.exe",”{}“中是在cmd中输入%USERPROFILE%输出的结果


5.设置wt新标签及其打开目录,defaultProfile值和list中的窗口属性
"defaultProfile": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}", //打开新标签的guid
{
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
"name": "命令提示符",
"commandline": "cmd.exe",
"hidden": false,
"useAcrylic": true,
"padding": "5, 0, -10, 10",
"acrylicOpacity": 0.75,
"startingDirectory": null //null即为堆栈顶层的路径地址即为%V
},
6.最终效果

cmd.exe
/s 表明修改 /c 或 /k 后对 String 的处理。
/c 表明在运行后关闭窗口
pushd %V pushd改变当前目录到指定目录,并保存当前的目录在堆栈顶端 在此处"%V"为当前工作目录,所以如果设置起始目录为null则打开当前目录
"路径" 在管理员模式的cmd打开程序
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...