我正在尝试使用PowerShell格式化输出到文本框的文本。目前案文如下:
运行上次重启CheckDays:5小时:4分钟:3RebootRecommended
我希望它格式化为:
运行上次重启检查
天:5小时:4分钟:3
重新启动推荐
这是我的代码:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="btn-group">
<button id="add">Add Input Fields</button>
<button id="remove">Remove Input Fields</button>
<button id="log-data">Log Data</button>
</div>
我尝试了Function global:LastReboot_Run
{
$logstring = "Running Last Reboot Check" -split "`n"
Add-content C:\Temp\PMCS_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:\Temp\PMCS_TicketLogs.Log -value $logstring
$logs_TextBox.Text += "`n$logstring"
$logstring = "Last Reboot Check Finished"
Add-content C:\Temp\PMCS_TicketLogs.Log -value $logstring
$logs_TextBox.Text += "`n$logstring"
}
LastReboot_Run
n“方法,但它们似乎都没有用。任何帮助都会受到赞赏。谢谢!
答案 0 :(得分:1)
您可以使用[System.Environment]::NewLine
在TextBox.Text
中插入新行。您的TextBox
必须将Multiline
属性设置为$true
。
您可以将其存储在变量中以便于使用:
$newline = [System.Environment]::NewLine
$logstring = "$newline$newline`Last Reboot Check Finished"
我同意代码有点难看,但它可以做你想要的。
backtick-n不起作用,但我无法解释原因。
仅供参考,-split
运算符用于剪切(拆分)部分字符串。