作成前にファイルが変更されているように見えますか?[重複]


9

作成日より前の修正日を持つファイルを持つことは可能ですか?このイベントが発生する原因となるアクションは何ですか?


7
ファイルを作成します。時計を戻します。ファイルを変更します。時計を戻します。
DavidPostill

@DavidPostill少なくともWindowsでは、システム時刻を変更するには管理者権限が必要ですが、おかしなファイル時刻を作成しない他の方法もあります。
ベンN

回答:


8

抽出された.tarアーカイブを検討してください。通常、抽出されたファイルには、アーカイブコンテンツから割り当てられた最終変更のタイムスタンプがあります(タイムトラベラーでない限り、これは通常、過去のものです)。ファイルシステムに関する限り、これらのファイルは作成されたばかりです。

既存のファイルの変更時刻を変更するユーティリティも存在します。たとえばLinuxでは、これはtouchコマンドです。


そして、単一のファイルのために、cp -pとのようにそれを真似ものrcp -pscp -p、同様にrsyncして-tかは-a、ソースからMODTIMEを取ります。
dave_thompson_085 2016年

「作成時間」は、ウィンドウの用語であり、* nixではありません。* nixには「作成時刻」と混同しやすい「変更時刻」がありますが、同じものではありません。
プラグウォッシュ2016年

ext4は明らかに、ウィンドウの「作成時刻」に類似している(ただし同じではない)「生成時刻」を格納しますが、それにアクセスするための良い方法はありません。unix.stackexchange.com/a/50184/122182
plugwash

8

ファイルを最初から作成すると、作成時刻は「今」、変更日は「今」になります。このファイルを別のドライブにコピーするとします。Windowsは、修正時刻を保持しますが、そのファイルの作成時間は、あなたがそのドライブにファイルをコピーした時に(ファイルが作成された、すなわち時間に設定されているドライブ)。そのような単純な。

それは実際に正しいです:

  • ファイルの内容が最後に変更された時刻は、変更時刻に格納されます。
  • このドライブにファイルが作成された時刻は、作成時刻に格納されます。

このコメントは、作成/変更された日付の不一致が発生する可能性が非常に高いシナリオを示しているため、最も意味があります。
Shukri Adams

7

Windowsでは、ファイルの作成時刻と変更時刻の設定(必要に応じて改ざん)は非常に簡単です。コンピュータの時計を変更する必要はありません。ローカル管理者のアクセスも必要ありません。必要なのは、問題のファイルへの書き込みアクセスだけです。

PowerShellを使用してファイルの作成時間を設定するにはSetCreationTime

[System.IO.File]::SetCreationTime("C:\path\to\file.ext", (Get-Date "8/8/2088"))

を使用して最終変更時刻を設定するにはSetLastWriteTime

[System.IO.File]::SetLastWriteTime("C:\path\to\file.ext", (Get-Date "7/4/1776"))

Linuxでは、このAsk Ubuntu answerに示されているように、の-dフラグでファイルの最終変更時刻を簡単に変更できます。Linuxファイルシステム上のファイルの作成日という概念は実際にはありません(詳細については、UnixとLinuxを参照してください)。touch


3

はい。Windowsでは、ファイルを変更して保存します。ファイルをコピーします。コピーのプロパティを見ると、以前に変更された日付があることがわかります。


1

ここで注意すべき最も重要なことは、ファイルの変更時刻は特別なものではなく、他のデータと同じように保存されるということです。データが実際に最後に書き込まれたか、最後に読み取られたかを知る方法はありません。

ここから、CDのようなライトワンスメディアを除いて、最終変更時刻または作成時刻を保存するドライブのビットを直接変更することが常に可能であることがわかります。

より実際的には、他の回答が指摘しているように、これは一般的なオペレーティングシステム内からも実行できます。Windowsでは、これはWinAPI SetFileTime関数によって提供され、utimeLinuxでこれを行うことができます。touchこれらのAPIの上に構築するようなツール。

これらのAPIの最も一般的な正当な使用法は、ファイルのコピーやアーカイブからの抽出など、変更時間を維持することです。


0

私の経験では、1台以上のコンピューターがファイルの変更に使用され、そのうちの1台のシステム時刻が間違っている場合です。システム時刻が間違っている最も一般的な3つの原因は、順不同です。

  1. すべてのコンピューターが夏時間に自動的に変更されるように構成されているわけではありません。
  2. 人々は、コンピュータのシステム時刻を「誤って」変更しました。
  3. 人々は冗談としてコンピュータのシステム時刻を「意図的に」変更しました。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.