バッチファイルの中でPowershellスクリプトから日付を取得する方法
バッチファイル
@echo off
FOR /F "usebackq" %%a IN (`powershell -command "Write-Output $((Get-Date).AddDays(-1)).ToString('yyyy/MM/dd')"`) DO (
SET contents=%%a
)
echo %contents%
FOR /F "usebackq tokens=*" %%a IN (`powershell -command "Write-Output $(Get-Date).ToString('yyyy/MM/dd ddd HH:mm:ss')"`) DO (
SET contents=%%a
)
echo %contents%
timeout /t 22
昨日の日付 と
今日の日付と時間 曜日
2025/01/30 木 14:38:07詳細
日時のフォーマット指定、日時の計算、その他の日時関連コマンド、および日付・時刻の計算メソッドの情報を示します。
PowerShell での日時フォーマット指定
Get-Dateコマンドレットは-Formatパラメータを使用して表示フォーマットを指定します。NowプロパティはtoStringメソッドを使用してフォーマットを指定します。
Windows形式の書式指定子 (-Format オプション)
yyyyまたはYYYY: 年(西暦4桁)yyまたはYY: 年(西暦下2桁)MM: 月(01~12)dd: 日(01~31)HH: 時(00~23)hh: 時(01~12)mm: 分(00~59)ss: 秒(00~59)d: 短い形式の日付パターンD: 長い形式の日付パターンt: 短い形式の時刻パターンT: 長い形式の時刻パターンdddd: 曜日(完全な形式)ddd: 曜日(短縮形式)
UNIX形式の書式指定子 (-UFormat オプション)
%Y: 年(西暦4桁)%y: 年(西暦下2桁)%m: 月(01~12)%B: 月(January~December)%d: 日(01~31)%H: 時(00~23)%h: 時(01~12)%M: 分(00~59)%S: 秒(00~59)%p: 午前/午後%A: 曜日(完全な形式)%a: 曜日(短縮形式)
日時の計算
PowerShellでは、以下の方法で昨日、明日、明後日、一か月前、来年、翌年などを計算できます。
Get-Dateコマンドレットで本日の日付を取得し、AddDays、AddMonths、AddYearsを使用して計算します。AddDays・・・日付の増減AddMonths・・・月の増減AddYears・・・年の増減
サンプルコード
# 昨日の日付
$yesterday = (Get-Date).AddDays(-1)
Write-Output "昨日の日付: $yesterday"
# 明日の日付
$tomorrow = (Get-Date).AddDays(1)
Write-Output "明日の日付: $tomorrow"
# 一か月前の日付
$lastMonth = (Get-Date).AddMonths(-1)
Write-Output "一か月前の日付: $lastMonth"
# 来年の日付
$nextYear = (Get-Date).AddYears(1)
Write-Output "来年の日付: $nextYear"
文字列内のコマンド結果の埋め込み
文字列内では $(コマンド) によりコマンドの結果を文字列で埋め込むことが可能です。
サンプルコード
Write-Output "今日の日付は $(Get-Date -Format 'yyyy/MM/dd') です。"
その他の日時関連コマンド
[datetime]::Now: 現在の日時を取得[datetime]::Now.DayOfWeek: 曜日を取得
サンプルコード
$currentDateTime = [datetime]::Now
Write-Output "現在の日時: $currentDateTime"
$currentDayOfWeek = [datetime]::Now.DayOfWeek
Write-Output "今日は何曜日: $currentDayOfWeek"
日付・時刻の範囲計算
New-TimeSpan [[-Start] 開始日時] [[-End] 終了日時]: 日時の範囲を計算
サンプルコード
# 開始日時と終了日時のタイムスパンを取得
$start = Get-Date -Year 2024 -Month 1 -Day 1
$end = Get-Date -Year 2025 -Month 1 -Day 1
$timeSpan = New-TimeSpan -Start $start -End $end
Write-Output "タイムスパン: $timeSpan"
DateTimeクラスの計算メソッド
PowerShellで日付や時刻の計算を行う場合、DateTimeクラスの各種計算メソッドを使って加算・減算を行います。
メソッド一覧と用途
| メソッド名 | 用途 |
|---|---|
AddYears | 年の増減 |
AddMonths | 月の増減 |
AddDays | 日の増減 |
AddHours | 時間の増減 |
AddMinutes | 分の増減 |
AddSeconds | 秒の増減 |
AddMilliseconds | ミリ秒の増減 |









ディスカッション
コメント一覧
まだ、コメントがありません