FileSetTime

1つまたは複数のファイルまたはフォルダーのタイムスタンプを変更します。ワイルドカードに対応しています。

FileSetTime YYYYMMDDHH24MISS, FilePattern, WhichTime, Mode

パラメータ

YYYYMMDDHH24MISS

型:文字列

空白または省略された場合、現在のローカルタイムがデフォルトとなります。それ以外の場合は、操作に使用する時間を指定します(形式は備考を参照)。1601年以前はサポート対象外です。

FilePattern

型:文字列

省略されたときは、最も内側のfile loopの中の現在のファイルが設定されます。それ以外の場合、単一のファイルまたはフォルダの名前、または"C:\Temp\*.tmp"のようなワイルドカードパターンです。絶対パスが指定されない場合、FilePatternA_WorkingDir にあるとみなされます。

WhichTime

型:文字列

If blank or omitted, it defaults to M. Otherwise, specify one of the following letters to set which timestamp should be changed:

Mode

型:文字列

空白または省略された場合、ファイルのみが操作され、サブディレクトリは再帰されません。それ以外の場合は、以下の文字を1つ以上指定してください:

注意:FilePatternがワイルドカードパターンではなく、単一のフォルダの場合、この設定に関係なく常に操作されます。

エラー処理

ファイルの変更に失敗した場合、ErrorがThrowされ、Extraプロパティには失敗した回数が設定されます。

ファイルが見つかった場合、A_LastErrorには0(ゼロ)または最後の失敗の直後のオペレーティングシステムのGetLastError()関数の結果が設定されます。それ以外の場合、A_LastError は、ファイルが見つからなかった理由を示す可能性のあるエラーコードを含みます。

備考

FAT16およびFAT32ボリュームでは、ファイルの最終アクセス時刻はNTFSボリュームほど正確ではないかもしれません。

YYYYMMDDHH24MISS フォーマットの要素は以下の通りです:

要素 説明
YYYY 4桁の西暦
MM 2桁の月(01~12)です
DD 月の2桁の日付(01~31)です
HH24 24時間表示の2桁の時間(00~23)です。例えば、09は午前9時、21は午後9時です。
MI 2桁の分(00~59)です
SS 2桁の秒(00~59)です

YYYYMMDDHH24MISSに部分文字列(例:200403)のみが与えられた場合、省略された残りの要素には、以下のデフォルト値が与えられます:

組み込み変数A_Nowには、上記のフォーマットで現在のローカルタイムが格納されています。同様に、A_NowUTCには、現在の協定世界時(Coordinated Universal Time)が格納されます。

注意:DateAddDateDiffにより、日付時刻の値を比較、加算、減算することができます。また、時間の比較には、同じ文字列の長さでない限り、大なり小なりは使わないほうがよいでしょう。これは、数字として比較されるからです。例えば、20040201は常に200401010533より数字的には小さい(しかし時系列的には大きい)のです。そこで、代わりにDateDiffを使って、その間の時間量が正か負かを調べます。

FileGetTimeFileGetAttribFileSetAttribFileGetSizeFileGetVersionFormatTimeファイルループDateAddDateDiff

一致するすべてのファイルの修正時刻を現在時刻に設定します。

FileSetTime "", "C:\temp\*.txt"

修正日を設定します(時刻は午前0時になります)。

FileSetTime 20040122, "C:\My Documents\test.doc"

作成日時を設定します。時刻は16時55分に設定されます。

FileSetTime 200401221655, "C:\My Documents\test.doc", "C"

パターンに一致するすべてのファイルのmod-dateを変更します。一致するフォルダーは、最後のパラメーターによって変更されます。

FileSetTime 20040122165500, "C:\Temp\*.*", "M", "DF"