以下是一个非常简单的方法:
1. 将 .LNK 添加到您的 PATHEXT 变量中。
开始 -> 运行 "sysdm.cpl" -> 高级选项 -> 环境变量
通过系统变量向下滚动,双击 PATHEXT
添加 .LNK; 如下所示:
![Path Extension](https://istack.dev59.com/tEY0s.webp)
2 复制默认的 "Windows Powershell.lnk" 快捷方式
Copy-Item "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Windows PowerShell\Windows PowerShell.lnk" "C:\Windows\System32\powershell.lnk"
3. 在运行提示符中输入"powershell"将会打开默认的控制台颜色/配置。
你可以进一步自定义 C:\Windows\System32 中的 .lnk 文件以满足你的需求。
请注意,这只能工作是因为你已经将 .lnk 添加到了可接受扩展名的列表中,并且 c:\windows\system32 默认是搜索路径(PATH 系统变量)中的第一个项目。
如果通过 cmd.exe 启动控制台,则无法自定义控制台。
4. 要在“在此处运行 PowerShell”上下文菜单中使用,请将其保存为 .reg 文件并导入:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\PowerShellHere\command]
@="C:\\WINDOWS\\system32\\cmd.exe /c start powershell -NoExit \"cd '%1';(get-host).ui.rawui.windowtitle = 'Oompa Loompa'\""
[HKEY_CLASSES_ROOT\Directory\shell\PowerShellHere\command]
@="C:\\WINDOWS\\system32\\cmd.exe /c start powershell -NoExit \"cd '%1';(get-host).ui.rawui.windowtitle = 'Oompa Loompa'\""
我正在使用cmd.exe调用"start"命令,它将启动powershell.lnk并将当前工作目录作为参数传递。但是从地址栏似乎不起作用。我本应该在45分钟前就回家了,但是解决您的问题很有趣! :)
额外加分:您可以将发送到Powershell的命令进行线程处理。因此,如果您想修改Powershell控制台的标题属性:
\"cd '%1';(get-host).ui.rawui.windowtitle = 'Oompa Loompa'"
只需在命令之间加上分号。
祝你使用shell愉快。
[console]::backgroundcolor = "#FF0000"
,[console]::backgroundcolor = 0xFF0000
(RGB),以及[console]::backgroundcolor = 0xFFFF0000
(ARGB)。 - Drew Chapin