2009-02-24 27 views
9

Necesito cambiar la fecha de modificación en un archivo en Windows para que no altere mi orden de clasificación. ¿Cómo puedo hacer eso con una secuencia de comandos (es posible que tenga que hacer eso en el archivo en el futuro también)?¿Cómo cambio programáticamente la fecha de creación, modificación y acceso en un archivo?

BTW: No quiero tener que instalar aplicaciones para hacer esto.

+0

No hay forma de hacerlo desde la línea de comandos. Si quieres escribir un código para hacerlo, por favor expresa eso. – EBGreen

Respuesta

21

Si tiene 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

Lo más probable es que involucre la instalación de algo para él, pero una buena respuesta, no obstante. +1 – EBGreen

+2

@EBGreen Powershell está integrado en Vista y Win7 y está disponible en Microsoft. –

1

Uso de Java que puede hacer:

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

Aquí está un ejemplo de VBScript de cambiar la fecha de modificación:

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 ... parece que no funciona ... ¿necesitaría permisos especiales en XP para esto? – Keng

+0

Funcionó para mí. Estoy usando Windows 2008 Server y he iniciado sesión con acceso de administrador. – twasbrillig

3

uso de PowerShell, el comando sería:

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

Cuestiones relacionadas