前提・実現したいこと
作成した月の1日~末日までのファイルを、指定した場所へ一括作成するスクリプトを書いています。当該スクリプト内で、末日を設定する際にswitchを使っているのですが、想定どおりに動いてくれません。
現在どう修正すべきか見当が付かず困っています。何卒ご指導の程宜しくお願い致します。
該当のソースコード
Powershell
1switch ([int](Get-Date -UFormat %m)) { 2 ($_ -eq 2) { 3 if (([int](Get-Date -UFormat %Y) % 4 -eq 0) -Or ([int](Get-Date -UFormat %Y) % 400 -eq 0)) { 4 $END_DAY = 29 5 } else { 6 $END_DAY = 28 7 } 8 } 9 ($_ -in (4,6,9,11)) { $END_DAY = 30 } 10 Default { $END_DAY = 31 } 11}
発生している問題
今月このスクリプトを実行した場合、2月の為($_ -eq 2)はtrueのはずで、その後の処理が実行されるはずだが実行されない。
試したこと
VSCodeのデバッガでウォッチしたところ、2行目の変数は以下の通り。
$_ : 2
($_ -eq 2) : True
何故Trueなのにその後のブロックに入ってくれないのでしょうか…
補足情報
OS:Windows Server 2016
PSVersion 5.1.14393.693
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/26 07:23 編集
2019/02/26 07:43
2019/02/26 08:00 編集