我想在我的脚本中的各个地方输出日期时间以便记录,所以我这样做:
$b = Get-Date
Write-Output "Backups complete at $b"
# more code here
$c = Get-Date
Write-Output "Backups complete at $c"
我必须使用多个字母表来获取最新的日期/时间。
是否有更简单的方法可以执行此操作,或者每次我想再次使用它时是否必须重新建立日期?
答案 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