Sous Windows, existe-t-il un moyen de mettre à jour automatiquement (ou avec un simple script) la date d'un dossier avec la dernière date modifiée de n'importe lequel de ses fichiers (récursif) ?
Réponses
Trop de publicités?Vous pouvez le faire dans PowerShell. Quelque chose comme ceci pour mettre à jour le dossier actuel en fonction des fichiers qu'il contient directement :
$lastModified = (dir . | ?{!$_.PSIsContainer} | sort LastWriteTime | select -last 1).LastWriteTime
$folder = get-item .
$folder.LastWriteTime = $lastModified
(Cela échouera s'il n'y a pas de fichiers dans le dossier ou si l'utilisateur n'a pas les permissions appropriées).
EDIT : Assurez-vous qu'un seul fichier (le dernier) est trouvé afin que le pipeline de tri ait un résultat unique.
J'ai juste fait un test simple - si vous créez un fichier vide dans le répertoire, il change la date de modification du dossier à cette date. Lorsque vous supprimez le fichier, cela compte toujours comme une modification, donc il reste modifié à cette date.
Pour le faire de manière récursive, vous devez créer un fichier vide dans chaque dossier dans lequel vous souhaitez que la date soit modifiée. Cette solution reste assez simple si vous êtes prêt à faire un peu de programmation simple.
Si vous voulez changer la date en quelque chose d'autre que l'heure actuelle, cette solution ne fonctionnera évidemment pas.
Vous pouvez utiliser Changeur de fichiers en masse .
BulkFileChanger est un petit utilitaire qui vous permet de créer une liste de fichiers à partir de plusieurs dossiers, puis de faire une action sur eux - Modifier leur leur heure de création/modification/accès, changer leur attribut de fichier (Lecture seule, caché, système), lancer un exécutable avec ces fichiers avec ces fichiers comme paramètre, et copier/couper/coller dans l'Explorateur.
FolderTimeUpdate
Très bon choix pour un programme non scénarisé. En dehors du fait qu'il n'est pas configurable automatiquement (dans l'interface graphique), sa fonctionnalité est exactement celle souhaitée :
FolderTimeUpdate est un outil simple pour Windows qui scrute tous les fichiers et fichiers et dossiers sous le dossier de base que vous choisissez, et met à jour la rubrique "Modifié de chaque dossier selon la dernière heure de modification des fichiers qui y sont stockés. qui y sont stockés .
La plupart de ces opérations peuvent également être réalisées en ligne de commande, ce qui vous permettrait de l'automatiser en le paramétrant pour qu'il s'exécute à intervalles, ou peut-être même pour qu'il surveille certains dossiers. .
L'interface graphique permet de contrôler profondeur du sous-dossier le recouvrement, l'inclusion et l'exclusion caractères de remplacement et même s'il faut modifier le fichier date de création également (identique à l'heure de modification, ou correspondant à l'heure de création ou de modification la plus ancienne).
Programme de l'excellent et prolifique Nir Sofer (le même auteur de Changeur de fichiers en masse dans un domaine moins pertinent réponse ).
- Réponses précédentes
- Plus de réponses