windows - Hvordan ændrer jeg programmatisk oprette, ændre, adgangsdato på en fil?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg er nødt til at ændre ændringsdatoen på en fil på Windows, så den ikke rydder min sorteringsrækkefølge. Hvordan kan jeg gøre det med et script (det skal jeg muligvis også gøre i filen i fremtiden)?


BTW: Jeg ønsker ikke at skulle installere applikationer for at gøre dette.

Bedste reference


Hvis du har 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")

Andre referencer 1


Ved hjælp af PowerShell vil kommandoen være:


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

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

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


Indtast billedbeskrivelse her [7]

Andre referencer 2


Her er et VBScript eksempel på ændring af modifikationsdatoen:


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

Andre referencer 3


Brug af Java kan du gøre:


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

Andre referencer 4


I PowerShell kan du liste filen og bruge den til at indstille attributter på den i en enkelt linje.


For eksempel med wildcard:


(ls yourF*).lastWriteTime = (get-date).AddDays(-60)


For en enkelt fil:


(ls yourFile.doc).creationTime = (get-date).AddDays(-60)


(De ovennævnte kommandoer antager, at du har cd'd til filens mappe.)