Comment modifier des horodatages avec Windows PowerShell

Le tutoriel suivant montre comment modifier les horodatages de fichiers - création, dernier accès et dernière écriture - à l'aide de Windows PowerShell.

PowerShell fait partie de toute version moderne du système d'exploitation Windows de Microsoft. Microsoft a déplacé PowerShell hors de l'invite de commande sous Windows 10, mais n'a pas supprimé l'invite de commande en procédant ainsi.

Les utilisateurs de Windows 10 et les administrateurs ont accès aux deux, mais le développement est au cœur de PowerShell.

Plusieurs fichiers sous Windows, ainsi que d’autres systèmes d’exploitation, sont associés à plusieurs horodatages. Le système de fichiers garde trace de l'heure de création des fichiers, de la dernière heure d'accès et de la dernière heure d'écriture.

Comment modifier des horodatages avec Windows PowerShell

La première chose à faire est de lancer une fenêtre PowerShell. Tapez sur la touche Windows, tapez PowerShell et appuyez ensuite sur la touche Entrée. Notez que cela lance l'invite sous le compte d'utilisateur actuel. Si vous avez besoin d'une invite élevée, par exemple pour modifier les horodatages de fichier des dossiers pour lesquels l'utilisateur a un accès limité, maintenez les touches Maj et Ctrl enfoncées.

Les trois commandes dont vous avez besoin sont les suivantes:

  • $ (Get-Item FILENAME.EXT) .creationtime = $ (DATE)
  • $ (Get-Item FILENAME.EXT) .lastaccesstime = $ (DATE)
  • $ (Get-Item FILENAME.EXT) .lastwritetime = $ (DATE)

Les trois commandes modifient les horodatages de création, de dernier accès et de dernière écriture du fichier lorsque vous les exécutez.

Remarque : La dernière heure d'accès n'est pas activée par défaut sur toutes les versions de Windows prises en charge en raison de problèmes de performances.

Pour vous donner quelques exemples:

  • $ (Get-Item test.txt) .creationtime = $ (Get-Date)
  • $ (Get-Item test.txt) .lastaccesstime = $ (Get-Date "12/24/2011 07:15")

La première commande définit l'horodatage de création du fichier text.txt sur la date et l'heure actuelles. La deuxième commande modifie l'heure et la date du dernier accès au 24 décembre 2011 à 7h15.

Notez que la commande nécessite que le fichier se trouve dans le répertoire en cours de l'invite PowerShell.

Commandes utiles

Une chose utile peut-être est de répertorier les horodatages de fichier du dossier actuel avant et après l'exécution de la commande PowerShell. Cela facilite la recherche de fichiers nécessitant encore des modifications et la vérification de l’application correcte des modifications.

Get-ChildItem -force | Mode sélection d'objet, nom, heure de création, dernière heure d'accès, dernière heure d'écriture | pi

La commande répertorie tous les fichiers et dossiers du chemin actuel et affiche l'heure de création, l'heure du dernier accès et la dernière heure d'écriture de chaque élément d'une table.

  • -force dans ce contexte inclut les fichiers cachés et système dans la sortie.
  • ft est l'abréviation de format table.

Si vous avez simplement besoin de l'horodatage de création, exécutez Get-ChildItem -force à la place.

Le script suivant exécute l'opération sur tous les fichiers.

$ modifyfiles = Get-ChildItem -force | Où-objet {! $ _. PSIsContainer}

foreach ($ object dans $ modifyfiles)

{

$ object.CreationTime = ("11/11/2011 12:00:00")

$ object.LastAccessTime = ("11/11/2011 12:00:00")

$ object.LastWritetime = ("11/11/2011 12:00:00")

}

Copiez-le, collez-le et changez-le en fonction de vos besoins.

Conseil: Si vous préférez une interface utilisateur graphique pour modifier les horodatages, consultez le programme gratuit Attribute Changer.