powershell を利用して、あるフォルダに格納されている特定ファイルのファイル更新日時を取得してみました。
ファイルの更新日時を取得するコマンド
powershell コマンドは以下の通りです。
$FileInfo = dir "C:\hogehoge" | Where-Object {$_ -like "*test*"}
$FileInfo[0].Name
$FileInfo[0].LastWriteTime
コマンドの解説
1行目:$FileInfo = dir “C:\hogehoge” | Where-Object {$_ -like “test”}
「dir」コマンドを利用して特定のフォルダ(今回は [C:\hogehoge] )の情報を取得し、
その情報の中で「test」という文字を含むものを限定して取りだして変数に格納しています。
以下の [C:\hogehoge] に対して dir コマンドを利用した結果を見ると分かりやすいです。
2行目:$FileInfo[0].Name
1行目で取り出した変数の中から1番目の項目を取り出して、その項目の「Name」情報を取り出しています。
3行目:$FileInfo[0].LastWriteTime
1行目で取り出した変数の中から1番目の項目を取り出して、その項目の「LastWriteTime」情報を取り出しています。
この情報が今回取得したかった「ファイルの更新日時の情報」になります。
実行結果
上記のコマンドを実行してみます。
PS C:\> $FileInfo = dir "C:\hogehoge" | Where-Object {$_ -like "*test*"}
PS C:\> $FileInfo[0].Name
testfile.txt
PS C:\> $FileInfo[0].LastWriteTime
2022年9月11日 18:59:55
PS C:\>
実行してみた結果、
「testfile.txt」というファイルは「2022年9月11日 18:59:55」に最終更新されたことが分かり、
ちゃんと取り出すことができました。
さいごに
単にファイルの更新日時を確認するだけであれば dir コマンドで十分ですが、ある日時以降のファイルを●●するというようなスクリプトを作成したい場合には役に立つかと思います。^^