Windowsもファイルのタイムスタンプの更新タイミングは、Linuxと同じルールなのでしょうか。
確認してみます。
新規作成。
C:\Users\takk\tmp>echo HELLO >aa.txt C:\Users\takk\tmp>
ファイルを右クリックして、プロパティを開くと、作成日時、更新日時、アクセス日時が表示されます。
まあ、ここからLinuxとは異なりますね。項目が異なるので、タイムスタンプの考え方も異なるかもしれません。
さて、タイムスタンプですが、dirコマンドで確認するには、dir /?でヘルプの/Tの説明にあるように、
C:\Users\takk\tmp>dir /? ディレクトリ中のファイルとサブディレクトリを一覧表示します。 DIR [ドライブ:][パス][ファイル名] [/A[[:]属性]] [/B] [/C] [/D] [/L] [/N] [/O[[:]ソート順]] [/P] [/Q] [/R] [/S] [/T[[:]タイムフィールド]] [/W] [/X] [/4] ~省略~ /T どのタイム フィールドを表示するか、または並べ替えに使用するかを 指定します。 タイムフィールド C 作成 A 最終アクセス W 最終更新
おそらく作成というのが、さきほど見たプロパティ表示での作成日時で、
最終アクセスが、アクセス日時、最終更新が、更新日時のことだと思います。
DIR /TC
DIR /TA
DIR /TW
でそれぞれ確認できます。
作成日時から見ていきましょう。
C:\Users\takk\tmp>dir /tc ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は B402-CA61 です C:\Users\takk\tmp のディレクトリ 2018/05/20 16:15 <DIR> . 2018/05/20 16:15 <DIR> .. 2018/06/15 20:36 8 aa.txt 1 個のファイル 8 バイト 2 個のディレクトリ 136,758,280,192 バイトの空き領域 C:\Users\takk\tmp>
次は、最終アクセス。
C:\Users\takk\tmp>dir /ta ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は B402-CA61 です C:\Users\takk\tmp のディレクトリ 2018/06/15 20:36 <DIR> . 2018/06/15 20:36 <DIR> .. 2018/06/15 20:36 8 aa.txt 1 個のファイル 8 バイト 2 個のディレクトリ 136,758,276,096 バイトの空き領域 C:\Users\takk\tmp>
最後に、最終更新。
C:\Users\takk\tmp>dir /tw ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は B402-CA61 です C:\Users\takk\tmp のディレクトリ 2018/06/15 20:36 <DIR> . 2018/06/15 20:36 <DIR> .. 2018/06/15 20:36 8 aa.txt 1 個のファイル 8 バイト 2 個のディレクトリ 136,758,755,328 バイトの空き領域 C:\Users\takk\tmp>
ん~。なんだか、同じような表示なので不安になります。このオプション効いているのでしょうか。間違ったオプションを指定してエラーになるか確認してみます。
C:\Users\takk\tmp>dir /tk パラメーターの形式が誤っています - "k" C:\Users\takk\tmp>
良かった。/tkなんてオプション指定ないのでエラーになりましたね。やはり、/tc /ta /twでそれぞれの時間は表示されているのでしょう。
では、linuxと同じであれば、aa.txtの内容を表示すると、アクセス時間が変わるハズ。。。やってみます。
C:\Users\takk\tmp>type aa.txt HELLO C:\Users\takk\tmp>dir /ta aa.txt ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は B402-CA61 です C:\Users\takk\tmp のディレクトリ 2018/06/15 20:36 8 aa.txt 1 個のファイル 8 バイト 0 個のディレクトリ 136,759,701,504 バイトの空き領域 C:\Users\takk\tmp>
最終アクセス時間がされてません。念のためプロパティも見てみます。
3つ同じ時間のままです。やはり更新されていないようです。
仕方ないので、次に進みます。ファイルを更新すれば、さすがに更新日時は変わるでしょう。やってみます。
C:\Users\takk\tmp>echo HELLO > aa.txt C:\Users\takk\tmp>dir /tw aa.txt ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は B402-CA61 です C:\Users\takk\tmp のディレクトリ 2018/06/15 20:53 8 aa.txt 1 個のファイル 8 バイト 0 個のディレクトリ 136,757,903,360 バイトの空き領域 C:\Users\takk\tmp>
おっ。変わりました。プロパティも見てみます。
更新日時、ちゃんと変化してます。良かった。
次は、コピーを試してみます。さきほど、内容の表示でアクセス時間は変化しませんでしたので、コピーしてもコピー元のアクセス時間は変化しないと思います。
C:\Users\takk\tmp>copy aa.txt bb.txt 1 個のファイルをコピーしました。 C:\Users\takk\tmp>
プロパティを確認。
予想通りです。
ファイル名変更はどうでしょうか。
C:\Users\takk\tmp>ren aa.txt cc.txt C:\Users\takk\tmp>
はい。何も変化しません。
調べるのが面白くなってきました。
コメント