2009-02-24 5 views
9

Je dois changer la date de modification sur un fichier sous Windows afin qu'il n'encombre pas mon ordre de tri. Comment puis-je faire cela avec un script (il se peut que je doive le faire dans le futur)?Comment modifier par programme la date de création, modification, accès sur un fichier?

BTW: Je ne veux pas avoir à installer des applications pour ce faire.

+0

Il n'y a aucun moyen de le faire à partir de la ligne de commande existante. Si vous voulez écrire du code pour le faire, veuillez l'exprimer. – EBGreen

Répondre

21

Si vous avez 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

Très probablement cela impliquerait l'installation de quelque chose pour lui, mais bonne réponse néanmoins. +1 – EBGreen

+2

@EBGreen Powershell est intégré dans Vista et Win7 et disponible auprès de Microsoft. –

1

Utilisation de Java que vous pouvez faire:

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

Voici un exemple VBScript de changer la date de modification:

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 .... ne semble pas fonctionner ... aurais-je besoin d'autorisations spéciales dans XP pour cela? – Keng

+0

A travaillé pour moi. J'utilise Windows 2008 Server et je suis connecté avec un accès administrateur. – twasbrillig

3

En utilisant PowerShell, la commande serait:

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

Questions connexes