2009-02-24 5 views
9

Ich muss das Änderungsdatum für eine Datei unter Windows ändern, damit es meine Sortierreihenfolge nicht überfüllt. Wie kann ich das mit einem Skript machen (muss ich das in Zukunft auch tun)?Wie programmiere ich programmgesteuert das Erstellungs-, Änderungs- und Zugriffsdatum für eine Datei?

BTW: Ich möchte nicht Anwendungen dafür installieren müssen.

+0

Es gibt keine Möglichkeit, dies über die Befehlszeile zu tun. Wenn Sie Code schreiben wollen, um es zu tun, dann drücken Sie das bitte aus. – EBGreen

Antwort

21

Wenn Sie Powershell:

$(Get-Item).creationtime=$(Get-Date "mm/dd/yyyy hh:mm am/pm") 
$(Get-Item).lastaccesstime=$(Get-Date "mm/dd/yyyy hh:mm am/pm") 
$(Get-Item).lastwritetime=$(Get-Date "mm/dd/yyyy hh:mm am/pm") 
+0

Wahrscheinlich würde das etwas für ihn installieren, aber gute Antwort nichtsdestoweniger. +1 – EBGreen

+2

@EBGreen Powershell ist in Vista und Win7 integriert und von Microsoft erhältlich. –

1

Java Verwenden Sie tun können:

File file = new File("someFile"); 
file.setLastModified(long time); 
3

Hier ist ein VBScript Beispiel das Änderungsdatum der Änderung:

Sub ChangeModifiedDate(strFolder, strFile, dteNew) 

    Dim oShell 
    Dim objFolder 

    Set oShell = CreateObject("Shell.Application") 
    Set oFolder = oShell.NameSpace(strFolder) 
    oFolder.Items.Item(strFile).ModifyDate = dteNew 
End Sub 
+0

hmmmm .... scheint nicht zu funktionieren ... würde ich dafür spezielle XP-Berechtigungen benötigen? – Keng

+0

Arbeitete für mich. Ich verwende Windows 2008 Server und bin mit Administratorzugriff angemeldet. – twasbrillig

3

Powershell verwenden, der Befehl wäre:

PS C:\temp> (Get-Item Notes.txt).lastwritetime=$(Get-Date "1/2/2016 12:34 am") 

PS C:\temp> (Get-Item Notes.txt).creationtime=$(Get-Date "1/2/2016 12:34 am") 

PS C:\temp> (Get-Item Notes.txt).lastaccesstime=$(Get-Date "1/2/2016 12:34 am") 

Enter image description here

Verwandte Themen