gpt4 book ai didi

powershell - 自定义 PowerShell 提示

转载 作者:行者123 更新时间:2023-12-03 08:17:45 27 4
gpt4 key购买 nike

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。




8年前关闭。




我正在寻找自定义 Powershell 的不同示例 prompt功能实现。如果您有自己的自定义实现,请发布脚本。与现有资源的链接也很好。

发布提示实际外观的屏幕截图(预览)的奖励积分。

最佳答案

这是 jaykul 提示的修改版本。好处是

- 有一个当前历史 id,所以你可以很容易地从历史中调用以前的项目(你知道 id)
- 这是一个小小的提醒 - 我将我的任务添加到提示中,这样我就不会忘记它们(参见 sshot)

function prompt {
$err = !$?
$origOfs = $ofs;
$ofs = "|"
$toPrompt = "$($global:__PromptVars)"
$ofs = $origOfs;
if ($toPrompt.Length -gt 0) {
Write-Host "$($toPrompt) >" -ForegroundColor Green -NoNewline }

$host.UI.RawUI.WindowTitle = "PS1 > " + $(get-location)

# store the current color, and change the color of the prompt text
$script:fg = $Host.UI.RawUI.ForegroundColor
# If there's an error, set the prompt foreground to "Red"
if($err) { $Host.UI.RawUI.ForegroundColor = 'Red' }
else { $Host.UI.RawUI.ForegroundColor = 'Yellow' }

# Make sure that Windows and .Net know where we are at all times
[Environment]::CurrentDirectory = (Get-Location -PSProvider FileSystem).ProviderPath

# Determine what nesting level we are at (if any)
$Nesting = "$([char]0xB7)" * $NestedPromptLevel

# Generate PUSHD(push-location) Stack level string
$Stack = "+" * (Get-Location -Stack).count

# Put the ID of the command in, so we can get/invoke-history easier
# eg: "r 4" will re-run the command that has [4]: in the prompt
$nextCommandId = (Get-History -count 1).Id + 1
# Output prompt string
# Notice: no angle brackets, makes it easy to paste my buffer to the web
Write-Host "[${Nesting}${nextCommandId}${Stack}]:" -NoNewLine

# Set back the color
$Host.UI.RawUI.ForegroundColor = $script:fg

if ($toPrompt.Length -gt 0) {
$host.UI.RawUI.WindowTitle = "$($toPrompt) -- " + $host.UI.RawUI.WindowTitle
}
" "
}
function AddTo-Prompt($str) {
if (!$global:__PromptVars) { $global:__PromptVars = @() }
$global:__PromptVars += $str
}
function RemoveFrom-Prompt($str) {
if ($global:__PromptVars) {
$global:__PromptVars = @($global:__PromptVars | ? { $_ -notlike $str })
}
}

sshot

关于powershell - 自定义 PowerShell 提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1338453/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com