Ich habe wirklich ein sehr seltsames Problem! Ich frage mich, ob das Problem im Rahmen ist, OS oder vielleicht ist es nur ich, Dinge falsch zu verstehen ...Unglaublich seltsame Datei Erstellungszeit Problem
Ich habe eine Datei, die vor langer Zeit erstellt werden könnte, verwende ich die Datei, und dann möchte ich Archivieren Sie es, indem Sie seinen Namen ändern. Dann möchte ich eine neue Datei mit demselben Namen wie die alte Datei erstellen, bevor sie umbenannt wurde. Leicht genug!
Das Problem, das mir wirklich ein Rätsel, ist, dass die neu erstellte Datei falsch bekommt „erstellt“ -timestamp! Das ist ein Problem, da ich mit diesem Zeitstempel festlegen möchte, wann eine neue Datei archiviert und erstellt werden soll.
Ich habe eine sehr kleine Stichprobe erstellt, der das Problem zeigt. Damit das Beispiel funktioniert, muss im Ordner "Dateien" eine Datei 1.txt vorhanden sein. Außerdem muss das Dateiattribut auch zeitlich zurückgesetzt werden (bei einem der verfügbaren Tools verwende ich Nomad.NET).
static void Main(string[] args)
{
// Create a directory, if doesnt exist.
string path = Path.GetDirectoryName(Application.ExecutablePath) + "\\Files";
Directory.CreateDirectory(path);
// Create/attach to the 1.txt file
string filename = path + "\\1.txt";
StreamWriter sw = File.AppendText(filename);
sw.WriteLine("testing");
sw.Flush();
sw.Close();
// Rename it...
File.Move(filename, path + "\\2.txt");
// Create a new 1.txt
sw = File.AppendText(filename);
FileInfo fi = new FileInfo(filename);
// Observe, the old files creation date!!
Console.WriteLine(String.Format("Date: {0}", fi.CreationTime.Date));
Console.ReadKey();
}
Schließlich löste ich es durch, nachdem die Datei (mit der falschen/alten Zeitstempel) erstellt wurde, änderte ich es „von Hand“ durch die FileInfo.CreationTime = DateTime.Now Einstellung. – kaze