3 votes

Recherche d'un utilitaire pour modifier par lots la date de création/modification de plusieurs fichiers dans l'ordre croissant des dates (Windows XP/7/Mac/Linux)

Je suis à la recherche d'un utilitaire qui modifie par lots/en vrac les horodatages des fichiers (date-modifiée et/ou date-créée) à la seconde près, mais qui le fait dans un ordre incrémental croissant, par ex.

File1 2012-04-18 10:21:01
File2 2012-04-18 10:21:02
File3 2012-04-18 10:21:03

Je veux faire cela car je veux forcer Flickr à ordonner les photos téléchargées dans un certain ordre.

J'aimerais que ce soit pour Windows ou Mac. J'ai aussi Ubuntu et je pourrais l'envisager comme un choix secondaire.

4voto

Daniel Andersson Points 22765

Ce site

  • fonctionne sous Linux/Mac,
  • n'utilise aucun retard artificiel pour créer un étalement du temps, et
  • garde la date de modification proche de l'original (je trouve souvent ces dates pratiques dans d'autres contextes).

    !/bin/sh

    REF=${1} i=1 while [ $# -gt 1 ]; do if ! [ "${2}" = "${REF}" ]; then touch -h -r "${REF}" -d "+${i} seconds" "${2}" i=$((i+1)) fi shift done

Il suffit de spécifier les fichiers dans l'ordre chronologique voulu et il utilisera l'horodatage du premier fichier comme base, et ajoutera une seconde par incrément à chacun des arguments suivants.

Si le fichier de référence est donné plusieurs fois, il conservera son heure d'origine (c'est seulement pour pouvoir faire par exemple "retime 0001.jpg *" sans changer l'horodatage de référence). Si un autre fichier est donné plusieurs fois, il obtiendra le dernier horodatage logique.

Sans -h , touch déréférencera les liens symboliques, ce qui n'est probablement pas souhaité dans ce cas (si vous dites "symbolique quoi ?", alors ne vous inquiétez pas).

3voto

Chatu Points 2910

Bonne question, même si Flickr devrait peut-être proposer une option permettant de classer les fichiers téléchargés.

Pour Windows, je suggère

Nirsoft Bulk File Changer

Pour Linux, on pourrait facilement écrire un script bash et utiliser la fonction touchez pour modifier plusieurs fichiers.

La commande tactile est également disponible sur Mac OS X, quelqu'un a écrit une tâche d'automatisation pour faire cela, mais encore une fois, cela peut être fait sur le terminal

FILES=./*
for f in $FILES
do
  echo "Processing $f file..."
  touch $f 
done

Ce bash script touchera chaque fichier dans l'ordre croissant. Vous pourriez ajouter un "sleep" au script si vous vouliez que chaque fichier ait une seconde valeur différente.

user@computer:/tmp/data$ ls -l

total 9028
-rw-r--r-- 1 user user  428800 Apr 19 12:18 File1
-rw-r--r-- 1 user user 4338800 Apr 19 12:18 File2
-rw-r--r-- 1 user user 4438800 Apr 19 12:18 File3
-rwxrwxrwx 1 user user      78 Apr 19 12:18 fix.sh

1voto

ricohflex Points 11

"Nirsoft Bulk File Changer modifie-t-il l'estampille de la date des fichiers dans un incrément défini, de façon ascendante, jusqu'à la fin ?

La réponse est OUI. J'ai fait cela à un lot de fichiers. Cela peut être fait.

Sélectionnez la liste des fichiers dans Total Commander ou dans l'Explorateur Windows et classez-les dans l'ordre que vous voulez.

Cliquez et tirez vers Nirsoft Bulk File Changer

Ajuster la date et l'heure du premier fichier Par exemple : Date de modification [/] 07-Apr-5 [/] 11:40:10 AM

[/] Ajouter [1] [Minutes]

Cliquez sur [/] Mode séquence date/heure.

Ne doit PAS cliquer sur [] L'heure est spécifiée en GMT

Cliquez sur [Faire].

Toutes les mouches de la liste sont modifiées avec l'horodatage de la date et de l'heure avec des séries de changements de 1 minute en séquence. Premier fichier ajouté 1 minute Deuxième fichier ajouté 2 minutes Troisième fichier ajouté 3 minutes et ainsi de suite.....

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X