在字符串中编写powershell函数

时间:2010-02-17 18:28:13

标签: powershell

如果我有:

Write-Host "[$(Get-Date -displayhint time)] backup starting..."

我明白了:

[02/17/2010 1:26:12pm] backup starting...

我。即Get-Date参数被忽略,只返回Get-Date的输出。

在字符串中间注入当前时间的最佳方法是什么?

感谢

2 个答案:

答案 0 :(得分:8)

好吧,在这种情况下,您将转换为字符串,因为您在字符串中使用输出。 Get-Date命令的结果仍然是DateTime对象。然后,Out-Host cmdlet将显示提示符。

您可以使用-Format参数强制使用某种格式,在这种情况下,cmdlet会返回一个字符串:

Get-Date -Format T

"T"是全时的格式字符串),如下所示:

PS Home:\> Write-Host "[$(Get-Date -Format T)] backup starting..."
[19:35:12] backup starting...

答案 1 :(得分:0)

您还可以使用DateTime类的ToString()方法。我通常做这样的事情:

[PS] C:\>write-host "$((get-date).tostring('yyyy.MM.dd-HH:mm:ss'))"
2010.02.19-09:54:51