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>

はい。何も変化しません。
調べるのが面白くなってきました。

コメント