Ero*_*ocM 16 powershell powershell-4.0
我想在我的脚本中的各个位置输出日期时间以进行日志记录,所以我这样做:
$b = Get-Date
Write-Output "Backups complete at $b"
# more code here
$c = Get-Date
Write-Output "Backups complete at $c"
Run Code Online (Sandbox Code Playgroud)
我不得不使用多个字母表来获取最新的日期/时间.
是否有更简单的方法来执行此操作,或者每次我想再次使用它时是否必须重新建立日期?
bri*_*ist 27
将当前日期时间分配给变量后,您将捕获运行时的日期和时间Get-Date.
每次需要新的日期和时间时,都需要再次运行它.您可以避免使用变量:
Write-Output "Backups complete at $(Get-Date)"
Run Code Online (Sandbox Code Playgroud)
这是简单的 1,它允许您以您想要的格式格式化日期时间
$currentTime = Get-Date -format "dd-MMM-yyyy HH:mm:ss"
Write-Host $currentTime " Other log string message "
Run Code Online (Sandbox Code Playgroud)
输出
17-Aug-2020 10:06:19 other log string message
Run Code Online (Sandbox Code Playgroud)
完成此操作的另一种方法是使用格式字符串,并且由于将其用于记录日志,我建议您编写一个函数,因为这将使您可以在一个位置更改所有日志消息的格式:
function Log-Message
{
[CmdletBinding()]
Param
(
[Parameter(Mandatory=$true, Position=0)]
[string]$LogMessage
)
Write-Output ("{0} - {1}" -f (Get-Date), $LogMessage)
}
Run Code Online (Sandbox Code Playgroud)
现在,您可以使用以下命令进行简单的日志记录:
Log-Message "Starting Backups"
Log-Message "Backups Completed"
Run Code Online (Sandbox Code Playgroud)
输出:
22.07.2016 08:31:15 - Starting Backups
22.07.2016 08:31:15 - Backups Completed
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30090 次 |
| 最近记录: |