PowerShell文本框格式



我正在尝试格式化我输出到PowerShell文本框的文本。当前文本是:

Running Last Reboot CheckDays:5Hours:4Minutes: 3reboorecommended

我希望它的格式为:

运行最后一次重启检查

天:5小时:4分钟:3

重启推荐

下面是我的代码:
Function global:LastReboot_Run
        {
            $logstring = "Running Last Reboot Check" -split "`n"
            Add-content C:TempPMCS_TicketLogs.Log -value $logstring
            $logs_TextBox.Text += "`n$logstring"
            $os = Get-WmiObject win32_operatingsystem
            $uptime = (Get-Date) - ($os.ConvertToDateTime($os.lastbootuptime))
            $Display = "" + $Uptime.Days + " days, " + $Uptime.Hours + " hours, " + $Uptime.Minutes + " minutes"
            $logs_TextBox.Text += "`n$Display"
            $FiveDaysAgo = (get-date).addDays(-7)
            #if([dateTime]$FiveDaysAgo = (get-date).addDays(-5))
            if ($FiveDaysAgo -eq $true)
            {
                $logs_TextBox.Text += "`nReboot Recommended"
            }
            else
            {
                $logs_TextBox.Text += "`nReboot - Good"
            }
            $logstring = "Date Since Last Reboot = " + $Display
            Add-content C:TempPMCS_TicketLogs.Log -value $logstring
            $logs_TextBox.Text += "`n$logstring"
            $logstring = "Last Reboot Check Finished"
            Add-content C:TempPMCS_TicketLogs.Log -value $logstring
            $logs_TextBox.Text += "`n$logstring"
        }
        LastReboot_Run

我尝试了n method and the -split " n"方法,但它们似乎都不起作用。任何帮助都会很感激。谢谢!

您可以使用[System.Environment]::NewLineTextBox.Text中插入新行。您的TextBox必须将Multiline属性设置为$true

您可以将其存储在一个变量中,以便于使用:

$newline = [System.Environment]::NewLine
$logstring = "$newline$newline`Last Reboot Check Finished"

我同意这是一个有点丑陋的代码,但它是你想要的。

backtick-n不工作,但我不能解释为什么。

仅供参考,-split运算符用于将字符串切割(分割)成部分。

最新更新