次のチュートリアルでは、Windows PowerShellを使用してファイルのタイムスタンプ(作成、最終アクセス、最終書き込み)を編集する方法を示します。
PowerShellは、MicrosoftのWindowsオペレーティングシステムの最新バージョンの一部です。 MicrosoftはWindows 10のコマンドプロンプトからPowerShellに移行しましたが、コマンドプロンプトを削除しませんでした。
Windows 10ユーザーと管理者は両方にアクセスできますが、開発の焦点は明らかにPowerShellにあります。
Windowsおよび他のオペレーティングシステム上の各ファイルには、いくつかのタイムスタンプが関連付けられています。 ファイルシステムは、ファイルの作成時刻、最終アクセス時刻、および最終書き込み時刻を追跡します。
Windows PowerShellでタイムスタンプを編集する方法

最初に行う必要があるのは、PowerShellウィンドウを起動することです。 Windowsキーをタップし、PowerShellを入力してEnterキーを押します。 これにより、現在のユーザーアカウントでプロンプトが起動されることに注意してください。 ユーザーがアクセスを制限されているフォルダーのファイルのタイムスタンプを編集するなど、昇格したプロンプトが必要な場合は、ShiftキーとCtrlキーをさらに押します。
必要な3つのコマンドは次のとおりです。
- $(Get-Item FILENAME.EXT).creationtime = $(DATE)
- $(Get-Item FILENAME.EXT).lastaccesstime = $(DATE)
- $(Get-Item FILENAME.EXT).lastwritetime = $(DATE)
3つのコマンドは、実行時にファイルの作成、最終アクセス、および最終書き込みのタイムスタンプを変更します。
注 :パフォーマンスの問題により、サポートされているすべてのバージョンのWindowsでは、最終アクセス時刻はデフォルトで有効になっていません。
いくつか例を挙げます:
- $(Get-Item test.txt).creationtime = $(Get-Date)
- $(Get-Item test.txt).lastaccesstime = $(Get-Date "12/24/2011 07:15 am")
最初のコマンドは、ファイルtext.txtの作成タイムスタンプを現在の日時に設定します。 2番目のコマンドは、最終アクセス日時を2011年12月24日午前7時15分に変更します。
このコマンドでは、ファイルがPowerShellプロンプトの現在のディレクトリにある必要があることに注意してください。
役立つコマンド
便利なことの1つは、PowerShellコマンドを実行する前後に現在のフォルダーのファイルのタイムスタンプを一覧表示することです。 これにより、まだ変更が必要なファイルを見つけやすくなり、変更が正しく適用されているかどうかを確認できます。
Get-ChildItem -force | オブジェクト選択モード、名前、CreationTime、LastAccessTime、LastWriteTime | フィート

このコマンドは、現在のパスのすべてのファイルとフォルダーをリストし、テーブル内の各アイテムの作成時刻、最終アクセス時刻、および最終書き込み時刻を表示します。
- このコンテキストの-forceには、出力に隠しファイルとシステムファイルが含まれます。
- ftはフォーマットテーブルの略です。
タイムスタンプの作成だけが必要な場合は、代わりにGet-ChildItem -forceを実行します 。
次のスクリプトは、すべてのファイルに対して操作を実行します。
$ modifyfiles = Get-ChildItem -force | Where-Object {! $ _。PSIsContainer}
foreach($ modifyfilesの$ object)
{
$ object.CreationTime =( "11/11/2011 12:00:00")
$ object.LastAccessTime =( "11/11/2011 12:00:00")
$ object.LastWritetime =( "11/11/2011 12:00:00")
}
コピーして貼り付け、必要に応じて変更してください。
ヒント:タイムスタンプの変更に関してグラフィカルユーザーインターフェイスを使用する場合は、代わりにフリーソフトウェアプログラムのAttribute Changerを確認してください。