10/06/20 01:21:27 yv5OOOJL
少々質問よろしいでしょうか。
古いファイルを指定したフォルダと日付から検索するスクリプトをpowershellで組もうとして、
そこにエラーメッセージを入れようとするとうまくいかないのですが誰かわかるでしょうか。
今手元にファイルをもってなく、直接打ち込んでいるのでスクリプト誤字はご容赦ください。
function f ([Strings]$a, [datetime]$b)
{
Get-ChildItem $a | ? {$_.CreationTime -le $b}
}
こんなかんじで作ったのですが、これにif文をいれて、アドレスと日時が入力されていないときに
エラーが出るようにしよう、としたのですが…
.countを使って、
function 以下略{
if( ($a.count + $b.count) -eq 2 )
{前述のスクリプト}else{
エラーメッセージ}
}
のようにすると、
if( ($a.count + $b.count) -eq 2 )が間違いだと思うのですがエラーメッセージしか返って来ません。
function f ( $args )
if ( $args,count -eq 2)
とする場合、
前述のスクリプトの{$_.CreationTime -le $b}を{$_.CreationTime -le [Datetime]$arg[1]}
とでもすればいいのでしょうが、
こうするとdatetime形式に$arg[1]が変換できない、のようなエラーを吐かれてしまいます。
自分の腕の未熟さはわかりましたので別の条件でエラーメッセージを出すことにしたのですが、
if( ($a.count + $b.count) -eq 2 ) や [datetime]$arg[1]などはどうして間違いなのかを教えていただきたいです。