在PowerShell中输出日期/时间

时间:2016-07-21 20:30:03

标签: powershell powershell-v4.0

我想在我的脚本中的各个地方输出日期时间以便记录,所以我这样做:

$b = Get-Date
Write-Output "Backups complete at $b"

# more code here

$c = Get-Date
Write-Output "Backups complete at $c"

我必须使用多个字母表来获取最新的日期/时间。

是否有更简单的方法可以执行此操作,或者每次我想再次使用它时是否必须重新建立日期?

3 个答案:

答案 0 :(得分:21)

将当前日期时间分配给变量后,您将捕获运行Get-Date时的日期和时间。

每当您想要新的日期和时间时,您需要再次运行它。您可以避免使用变量:

Write-Output "Backups complete at $(Get-Date)"

答案 1 :(得分:5)

另一种方法是使用格式字符串,因为你将它用于记录目的,我建议你编写一个函数,因为这样你就可以在一个地方更改所有日志消息的格式:

function Log-Message
{
    [CmdletBinding()]
    Param
    (
        [Parameter(Mandatory=$true, Position=0)]
        [string]$LogMessage
    )

    Write-Output ("{0} - {1}" -f (Get-Date), $LogMessage)
}

现在您可以使用简单的日志记录:

Log-Message "Starting Backups"
Log-Message "Backups Completed"

<强>输出:

22.07.2016 08:31:15 - Starting Backups
22.07.2016 08:31:15 - Backups Completed

答案 2 :(得分:1)

这是简单的1,它允许您以所需的格式设置日期时间

$currentTime = Get-Date -format "dd-MMM-yyyy HH:mm:ss"
Write-Host $currentTime " Other log string message "

输出

17-Aug-2020 10:06:19  other log string message