programing

날짜/시간을 PowerShell로 출력

powerit 2023. 10. 10. 21:14
반응형

날짜/시간을 PowerShell로 출력

로깅을 위해 스크립트의 여러 곳에 날짜 시간을 출력하고 싶어서 이렇게 합니다.

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

# more code here

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

가장 최근 날짜/시간을 얻으려면 알파벳을 여러 개 사용해야 합니다.

더 쉬운 방법이 있을까요, 아니면 다시 사용하고 싶을 때마다 날짜를 다시 설정해야 하나요?

현재 날짜 시간을 변수에 할당하면 실행한 시점의 날짜와 시간을 캡처하는 것입니다.Get-Date.

새로운 날짜와 시간을 원할 때마다 다시 실행해야 합니다.변수를 사용하지 않을 수 있습니다.

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

이를 위한 또 다른 방법은 형식 문자열을 사용하는 것이며, 이 문자열을 로깅 목적으로 사용하고 있으므로 한 곳에서 모든 로그 메시지의 형식을 변경할 수 있으므로 함수를 작성하는 것을 권장합니다.

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

여기 당신이 원하는 형식으로 날짜 시간을 지정할 수 있는 간단한 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 

언급URL : https://stackoverflow.com/questions/38513806/output-the-date-time-in-powershell

반응형