1

私の質問は、どのように日付を変数に保存し、そこに新しい日付をプッシュすることができるかです。私のコードを説明します: -今日の日付を取得し、ファイルの最終書き込み時刻からそれを差し引きます -時間数を取得します -最終書き込み時刻が 1 時間以上の場合 ファイルを編集するように通知します -最新の最終書き込み時刻を取得します -その後スリープします10秒

問題は、ファイルを編集しても、ループがまだ前の日付を表示することです。どうすればそれを機能させることができますか?

$file = get-childitem $input_users
   $time = (get-date)-$file.lastwritetime
   $hours = $time.hours

   while (($time.hours) -ge (1)){
         write-host -BackgroundColor DarkRed -ForegroundColor White  "$input was written to $hours hours ago, please edit it first"
         write-host -BackgroundColor DarkRed -ForegroundColor White  "Next check in 10 seconds."
         $time = (get-date)-$file.lastwritetime
                                }  
4

1 に答える 1

1

新しいファイル オブジェクトを取得し、ループ内で時間を再計算する必要があります。

$file = get-childitem $input_users
$time = (get-date)-$file.lastwritetime
$hours = $time.hours

while (($time.hours) -ge (1)){
    write-host -BackgroundColor DarkRed -ForegroundColor White  "$input was written to $hours hours ago, please edit it first"
    write-host -BackgroundColor DarkRed -ForegroundColor White  "Next check in 10 seconds."
    $file = Get-ChildItem $input_users
    $time = (Get-Date) - $file.LastWriteTime

}
于 2012-07-24T12:16:02.353 に答える