フォルダの更新日付けを変更する
フォルダの更新日付を変更するプログラムを作成しました。プログラムを実行するとユーザーにフォルダパスと何日前に変更するかを対話的に聞きます。入力されたデータを元にset-ItemPropertyというコマンドレットを使用して更新日付を変更します。更新するフォルダが開いているとエラーになるので、一度、更新するフォルダを閉じてから実行します。
以下プログラムです。
set-PSDebug -strict # -------------------------------- # フォルダの更新日付を変更する # 注意:対象フォルダを開いていると更新できません # -------------------------------- # フォルダパスをユーザーが入力 $folder_path = Read-Host "フォルダパスはなんですか" if ($folder_path -eq ""){throw "フォルダパスが入力されてません"} # フォルダパスが存在しない場合はエラー $result = test-Path $folder_path if( ! $result ){throw "フォルダが存在しません"} # 何日前に設定するかをユーザーが入力 $days = read-Host "何日前に設定しますか" if ($days -eq ""){throw "日数が入力されてません"} # 数値じゃない場合はエラー $result = $days -match "[^0-9]" if ($result){ throw "数値を入力して下さい"} # 設定する日付を設定 $date = (get-Date).adddays("-" + $days) # 更新日付を変更する set-ItemProperty -path $folder_path -Name LastWriteTime -Value $date.ToString("yyyy/MM/dd hh:mm:ss") trap{ break }