PowerShell: Ändern Sie den Zeitstempel (ERSTELLUNGSDATUM) einer Datei oder eines Ordners

Für die PowerShell-Befehle für Windows 10, stoße ich auf ein seltsames Verhalten.

Ändern einer Datei, Datum der Erstellung, die ich benutze:

Get-ChildItem  C:\testFile1.txt | % {$_.CreationTime = '01/11/2005 06:00:36'}

Ändern einen Ordner mit Datum angelegt, die ich verwenden:

Get-Item  C:\testFolder1 | % {$_.CreationTime = '01/11/2004 22:13:36'}

Diese 2 Befehle funktionieren gut auf einer regelmäßigen basis, auf der Systempartition C:\ oder auf dem desktop.

Die Geschichte ist anders, wenn der Ordner existiert auf einer externen USB-flash-Laufwerk.

(P. S. Den Befehl zum ändern einer Datei Zeitstempel bleibt immer noch arbeiten auf dem externen USB-flash-Laufwerk.)

Angenommen, ich versuche, das Datum zu ändern erstellt einen Ordner (keine Datei) auf eine externe USB-flash-Laufwerk:

Get-Item  U:\testFolder1 | % {$_.CreationTime = '01/11/2002 06:00:36'}

Bekomme ich diese Fehlermeldung:

Ausnahme der Einstellung "CreationTime": "Der Prozess kann nicht auf die Datei zugreifen 'U:\testFolder1" weil es wird von einem anderen Prozess verwendet wird." 
Bei Zeile:1 char:31 
+ ... et-Element U:\testFolder1 | % {$_.CreationTime = '01/11/2002 06:00:36'} 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
+ CategoryInfo : NotSpecified: (:) [], SetValueInvocationException 
+ FullyQualifiedErrorId : ExceptionWhenSetting 

Graben weiter, merke ich, dass der Prozess Windows 10 Datei-Explorer, die verhindert, dass mir die von der änderung des Zeitstempels. Solange ich nicht öffnen-Datei-Explorer kann ich PowerShell verwenden, um das Datum zu ändern erstellt einen Ordner auf dem USB-flash-Laufwerk.

Ist es trotzdem gerne .Dispose() beenden Sie Windows 10 s Datei-Explorer sperren der Ordner ohne die Notwendigkeit, Datei-Explorer, jedes mal?

Sie könnten versuchen, mit Directory.SetCreationTime() direkt: [System.IO.Directory]::SetCreationTime('U:\testFolder1', '01/11/2002 06:00:36')
Dank Mathias aber das ist, was ich habe:
PS U:\> [System.IO.Directory]::SetCreationTime('U:\testFolder1', '01/11/2000 06:00:36')
Ausnahme beim aufrufen von "SetCreationTime" mit "2" argument(s): "Der Prozess kann nicht auf die Datei zugreifen 'U:\testFolder1" weil es wird von einem anderen Prozess verwendet wird." Bei Zeile:1 Zeichen:1 + [System.IO.Directory]::SetCreationTime('U:\testFolder1', '01/11/2000 ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : IOException

InformationsquelleAutor Bart Simpson | 2016-08-15

Schreibe einen Kommentar