Muni Bus

パソコンの操作方法や設定方法を忘れないようにメモしています。ブログを一回引っ越ししているので、所々表示がかなり乱れています・・・

【PowerShell】ファイルの更新日時を更新する

Set-ItemPropertyコマンドレットを使う。以下は、あるファイルの更新日時(エクスプローラーでデフォルトで表示されている日時)を更新した例。spはSet-ItemPropertyコマンドレットのエイリアス

> dir text.txt
    Directory: ○○
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---          2022/08/17    23:32             34 text.txt
> sp text.txt -Name LastWriteTime -Value "2030-01-23 12:34:56"
> dir text.txt
    Directory: ○○
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---          2030/01/23    12:34             34 text.txt

Linuxのtouchコマンドのようにコマンド実施時点の日時に更新する場合は、以下のようにGet-Dateコマンドレットを組み合わせる。

> sp text.txt -Name LastWriteTime -Value $(Get-Date)
> dir text.txt
    Directory: ○○
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---          2022/08/17    23:35             34 text.txt

なお、ファイルを右クリック→「プロパティ」で表示される「作成日時」と「アクセス日時」のプロパティ名は、それぞれCreationTimeとLastAccessTime。これらも上記の手順で簡単に書き換えることができる。

> sp text.txt -Name CreationTime -Value "1970-01-01 02:04:06"
> sp text.txt -Name LastAccessTime -Value "2050-12-31 23:59:59"

↑を行ったファイルをエクスプローラーで右クリックしてプロパティを確認した結果が次の通り。