Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2959 connectés 

  FORUM HardWare.fr
  Windows & Software
  Win 7

  Ajouter date de modification à noms de fichiers par batch

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ajouter date de modification à noms de fichiers par batch

n°3336152
arnuche
Posté le 18-02-2019 à 18:39:02  profilanswer
 

Bonjour,
y a-t-il un moyen d'ajouter la date (et l'heure) de modification de fichiers (par batch) à leur nom en ligne de commande ?
Donc je passerais par exemple de "fichier.pdf" à "fichier 18-02-2019 19h03.pdf"
J'ai trouvé ça concernant l'ajout de la date du jour mais j'ai besoin de la date de modification ;
https://www.clubic.com/forum/progra [...] page1.html
J'utilise Windows 7 pro 64b.
Merci.


Message édité par arnuche le 18-02-2019 à 18:47:18
mood
Publicité
Posté le 18-02-2019 à 18:39:02  profilanswer
 

n°3336182
Je@nb
Modérateur
Kindly give dime
Posté le 19-02-2019 à 09:12:58  profilanswer
 

un truc comme ça en powershell doit le faire

Code :
  1. get-childitem -File -Path C:\MonDossier |  ForEach-Object {$_ | Rename-Item -NewName {$_.Basename + '_' + ("{0:yyyy-MM-dd hh\hmm}" -f $_.LastWriteTime) + $_.Extension }}

n°3336189
arnuche
Posté le 19-02-2019 à 09:49:12  profilanswer
 

Merci beaucoup !
Le Powershell, on doit l'installer ou ça marchera simplement avec l'invite de commandes intégrée à Win7 ?
Et pour que je comprenne bien ta commande, comment Windows peut savoir que la partie {0:yyyy-MM-dd hh\hmm} correspond à la date de modification et pas de création ?

n°3336195
Trit'
Posté le 19-02-2019 à 10:39:52  profilanswer
 

arnuche a écrit :

Le Powershell, on doit l'installer ou ça marchera simplement avec l'invite de commandes intégrée à Win7 ?


PowerShell est intégré à Windows 7. Tu peux le trouver via le menu Démarrer.

 
arnuche a écrit :

Et pour que je comprenne bien ta commande, comment Windows peut savoir que la partie {0:yyyy-MM-dd hh\hmm} correspond à la date de modification et pas de création ?


Parce que juste après, il y a le paramètre

 
Citation :

-f $_.LastWriteTime


qui indique bien d’aller chercher la date de dernière modification (.LastWriteTime) et la rajouter à la suite du nom de fichier préexistant ($_). Tout est dit, dans la ligne de commande. Il faut juste savoir la lire (et c’est quelqu’un qui ne connaît rien à PowerShell qui dit ça, mais c’est la même chose avec d’autres shells).


Message édité par Trit' le 19-02-2019 à 10:41:40
n°3336196
arnuche
Posté le 19-02-2019 à 10:44:16  profilanswer
 

Juste, je cherchais le paramètre avant, j'ai lu un peu vite, merci.
Je vais tenter ça.

n°3336205
arnuche
Posté le 19-02-2019 à 11:52:19  profilanswer
 

Marche pas  :o , j'obtiens le message "Impossible de trouver un paramètre correspondant au nom « File »"  :??:
 
edit : ça marche si j'enlève -File  :)  
J'ai aussi enlevé un espace devant ForEach-Object et j'ai remplacé le underscore '_' par un espace ' '.
 
 
Par contre il remplace 20h49 par 08h49, y a-t-il moyen de garder 20h49 ?


Message édité par arnuche le 19-02-2019 à 12:00:09
n°3336207
Je@nb
Modérateur
Kindly give dime
Posté le 19-02-2019 à 12:32:58  profilanswer
 

j'ai peut être une version trop récente de powershell c'est pour ça :D. JE voulais pas renommer les répertoires.
 
Pour mettre 20h49 exact faut mettre HH au lieu de hh et ça passe ;)

n°3336229
arnuche
Posté le 19-02-2019 à 16:43:51  profilanswer
 

Super, ça marche  :jap:  
 
Ça m'a donné une autre idée : est-ce qu'il y a moyen de récupérer de cette manière n'importe quel type de metadata et de l'utiliser pour le mettre dans le nom ?
Je pensais par exemple à : taille, type, hauteur de trame (pour les vidéos), auteur (pour les chansons) ..., bref, toute information que Windows peut afficher dans des colonnes à côté des fichiers.
Si oui, où trouver les termes à utiliser dans la ligne de commande pour remplacer LastWriteTime (ou rajouter derrière si on peut en ajouter plusieurs en une commande, sinon je le fais en plusieurs fois vu que ça va très vite) ?


Message édité par arnuche le 19-02-2019 à 16:45:12
n°3336231
Je@nb
Modérateur
Kindly give dime
Posté le 19-02-2019 à 18:12:27  profilanswer
 

pas aussi facilement mais oui

n°3336233
arnuche
Posté le 19-02-2019 à 18:16:53  profilanswer
 

Ah, tu peux en dire plus ?
Et quels sont les metadata qu'on peut utiliser aussi facilement que LastWriteTime ?

mood
Publicité
Posté le 19-02-2019 à 18:16:53  profilanswer
 

n°3336235
Je@nb
Modérateur
Kindly give dime
Posté le 19-02-2019 à 18:24:42  profilanswer
 

j'ai regardé vite fait powershell get metadata from files il y a des réponses. J'imagine que c'est les mêmes métadatas que celles qui s'affichent dans l'explorateur
 
pour la liste de base : https://docs.microsoft.com/en-us/do [...] properties

n°3336238
arnuche
Posté le 19-02-2019 à 19:48:16  profilanswer
 

Merci !
J'ai notamment trouvé ceci ;
https://gallery.technet.microsoft.c [...] a-6814c8ba
Pour la hauteur de l'image, il semblerait que ce soit le paramètre Frameheight, sauf que je ne sais pas très bien comment l'utiliser.
J'ai tenté ça qui est accepté mais il ne rajoute qu'un espace et rien derrière ;

Code :
  1. get-childitem -Path "F:\vid" | ForEach-Object {$_ | Rename-Item -NewName {$_.Basename + ' ' + ("{0:0-9}" -f $_.Frameheight) + $_.Extension }}


Je suppose que la partie ("{0:0-9}" -f $_.Frameheight) n'est pas bonne.
 
J'ai tenté ça sur un fichier .ts dont Windows montre bien la "hauteur de trame" (j'ai la version française de Windows) en bas de l'explorateur quand je clique sur ce fichier (ce qui ne marche pas avec du mkv).


Message édité par arnuche le 19-02-2019 à 19:54:07
n°3336409
arnuche
Posté le 21-02-2019 à 16:39:36  profilanswer
 

Personne ne sait ce qu'il faut modifier dans le script ci-dessus pour avoir la hauteur de trame dans le nom ? Je ne sais même pas si on peut écrire {0:0-9}, j'ai tenté ça au hasard.
Merci.


Message édité par arnuche le 21-02-2019 à 16:44:14

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Win 7

  Ajouter date de modification à noms de fichiers par batch

 

Sujets relatifs
Dossiers & fichiers inconnus de moiRaccourci modification fréquence ecran
Écran bleu démarrage Windows 7 suite modification configattribuer mot de passe différents à une série de fichiers
Pc se coupe à répétition après modification dans msconfigDétection de fichiers similaires et doublons
dossiers lecture seule, modification des fichiers impossibles...déplacements de fichiers du SSD au HDD
Partage de fichiers/imprimante se désactive 
Plus de sujets relatifs à : Ajouter date de modification à noms de fichiers par batch


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR