当您从其中一个预安装的快捷方式启动PowerShell窗口时,我附加了它的漂亮蓝色。但是,如果你手动启动powershell.exe,你不会得到这些颜色,你会得到黑/白:(
这是因为默认设置是在快捷方式(.lnk)文件中设置的:
我在Explorer上下文菜单中有一个“PowerShell Prompt Here”条目,我希望它使用与通常的快捷方式相同的漂亮颜色来启动PowerShell;黑色很糟糕,而且有不同颜色的窗户会让人感到困惑(尤其是当我有一些经常打开的老式指令窗户也是黑色的时候!)。
到目前为止,我发现了两个问题:
有没有办法从命令行启动PowerShell(即我可以将其作为资源管理器上下文菜单项嵌入到注册表中),它将使用与快捷方式相同的设置?
答案 0 :(得分:31)
编辑您的个人资料脚本(由$ profile指向)并自行设置所需的颜色:
# set regular console colors
[console]::backgroundcolor = "darkmagenta"
[console]::foregroundcolor = "darkyellow"
# set special colors
$p = $host.privatedata
$p.ErrorForegroundColor = "Red"
$p.ErrorBackgroundColor = "Black"
$p.WarningForegroundColor = "Yellow"
$p.WarningBackgroundColor = "Black"
$p.DebugForegroundColor = "Yellow"
$p.DebugBackgroundColor = "Black"
$p.VerboseForegroundColor = "Yellow"
$p.VerboseBackgroundColor = "Black"
$p.ProgressForegroundColor = "Yellow"
$p.ProgressBackgroundColor = "DarkCyan"
# clear screen
clear-host
答案 1 :(得分:20)
这是一个非常简单的方法:
开始 - >运行“sysdm.cpl” - >高级 - >环境变量
向下滚动系统变量,双击PATHEXT
添加.LNK;如下图所示:
Copy-Item "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Windows PowerShell\Windows PowerShell.lnk" "C:\Windows\System32\powershell.lnk"
您可以根据自己的喜好在C:\ Windows \ System32中进一步自定义.lnk。
请注意,这只会有效,因为您已将.lnk添加到可接受的扩展名列表中,并且c:\ windows \ system32默认情况下是搜索路径中的第一项(PATH系统变量)。
如果通过cmd.exe启动,则无法自定义控制台。
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控制台的title属性:
\"cd '%1';(get-host).ui.rawui.windowtitle = 'Oompa Loompa'"
只需在命令之间添加分号即可。
快乐炮击
答案 2 :(得分:11)
我发现使用concfg tool和scoop为Powershell安装颜色和字体非常有用:
安装独家新闻:
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
安装concfg:
scoop install concfg
concfg import solarized
这就是它,感谢作者!
答案 3 :(得分:6)
单击系统菜单(窗口左上角的PowerShell图标),然后单击“默认值”。您可以在此更改默认颜色,PowerShell Prompt Here命令将遵循它。
答案 4 :(得分:5)
执行此操作的正确方法是使用注册表
cd hkcu:/console
$0 = '%systemroot%_system32_windowspowershell_v1.0_powershell.exe'
ni $0 -f
sp $0 ColorTable00 0x00562401
sp $0 ColorTable07 0x00f0edee
答案 5 :(得分:3)
regedit
命令以打开注册表编辑器HKEY_CURRENT_USER > CONSOLE
和备份整个文件夹
重新启动Powershell,颜色方案必须重置为默认值。
注意:如果您有任何其他与PowerShell(或命令提示符,Git Bash等)相关的设置,请进一步探索控制台文件夹以删除相应的键
答案 6 :(得分:1)
这是我的解决方案(在脚本中设置颜色作为系统启动)。可能比你需要的更多(见我自己的答案):
答案 7 :(得分:0)
基于出色的@ rex-hardin answer,我改进了此处的regedit内容,以添加图标,并使用PowerShell本机参数从正确的路径开始。
右键单击目录背景时,或直接右键单击目录图标时,将启用上下文菜单。
当然,我们也运行与默认背景完全相同的蓝色背景控制台。
.LNK
”环境变量中添加“ %PATHEXT%
”扩展名这允许系统执行扩展名为.lnk
的文件(快捷方式的隐藏扩展名)
powershell
文件复制到system32 这允许powershell
命令从system32
文件夹(位于%PATH%
中)启动我们的快捷方式
使用资源管理器(复制并重命名)或下面的命令行:
Copy-Item "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Windows PowerShell\Windows PowerShell.lnk" "C:\Windows\System32\powershell.lnk"
powershell_here.reg
文件中并执行。powershell_here.reg
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\directory\background\shell\PowerShell]
@="PowerShell Here"
"Icon"="%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\powershell.exe"
[HKEY_CLASSES_ROOT\directory\background\shell\PowerShell\command]
@="cmd.exe /c start powershell -NoExit -NoProfile -Command Set-Location -LiteralPath '%V'"
[HKEY_CLASSES_ROOT\directory\shell\PowerShell]
@="PowerShell here"
"Icon"="%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\powershell.exe"
[HKEY_CLASSES_ROOT\directory\shell\PowerShell\command]
@="cmd.exe /c start powershell -NoExit -NoProfile -Command Set-Location -LiteralPath '%L'"
答案 8 :(得分:0)
在Windows 7 Pro 64位操作系统上,通过“探索”或“ Total Commander”或“ Double Commander”在当前文件夹中启动具有默认蓝色和白色的Powershell:
在系统PATH上的某个文件夹中的某个位置创建一个名为 ps.bat 的批处理文件(如果没有这样的文件夹,只需创建一个,例如 C :\ run \ cli 并将其添加到PATH系统环境变量中)。该批处理文件必须包含以下命令:
开始“”“ C:\ ProgramData \ Microsoft \ Windows \开始菜单\程序\附件\ Windows PowerShell \ Windows PowerShell.lnk”
就是这样。现在,只需在显示当前文件夹的资源管理器的路径栏中或在Total Commander或Double Commander等的命令行框中键入ps ...
在Windows 10上,无需从“开始”菜单修改PowerShell快捷方式,并且上面的ps.bat文件可能仅包含以下命令:
start %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe