IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Renommer un fichier avec sa date de création ?


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2015
    Messages : 6
    Par défaut Renommer un fichier avec sa date de création ?
    Salut,

    J'ai créé un petit batch pour "nous" (technicien électroménager) pour archiver nos bons de réparations et renommer les bons qui sont en (*.att) <---pdf bizard) en *.pdf qui est plus facile pour les recherches ultérieurs avec windows.
    Jusque là pas de problème.

    Mais il y a aussi un autre fichier, notre plan de tournée, j'aimerais renommer ce .pdf avec sa date de création.

    J'ai bien trouvé la commande pour renommer le fichier avec la date/et heure "actuel du système" mais pas avec la date de création de ce fichier.

    Ce fichier "routeplan.pdf" est écrasé à chaque fois que l'on imprime ce fichier.
    Mon but, est de créer une copie de ce fichier et de renommer ce fichier pour qu'il ne soit plus écrasé à chaque fois, de ce fait j’aurai donc un historique des mes planings avec comme nom de ce fichier sa date de création exemple: (routeplan_01_12_2015.pdf) ou (routeplan_010122015.pdf)


    Est-ce possible à faire dans un .bat ?

    Merci d'avance,

    Phil

  2. #2
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut
    et soyez le bienvenue dans DVP
    Vous pouvez nous poster votre code batch et

  3. #3
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Une Solution :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ::By SachaDee 2015
    @echo off
    setlocal enabledelayedexpansion
    for %%a in (*.pdf) do (
      for /f  "tokens=1 delims= " %%b in ('echo %%~ta') do (
       set "$date=%%b"
       set "$date=!$date:/=-!"
       ren "%%a" "%%~na_!$date!.pdf"))

    Ça va te vrenommer tous les PDF du répertoire courant avec la date :

    test.pdf

    va devenir

    test_03-09-2015.pdf



  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2015
    Messages : 6
    Par défaut
    Trop fort.. =)

    J'ai adapté, et ça marche super ! Merci!!

    Comment je peux apprendre les codes et faire un revers engineering, j'aimerais comprendre... (technicien dans l'âme)
    Une explication, un bouquin, un conseil par où commencer ? Car tout ce que j'ai cherché sur internet ne m'a pas vraiment aidé, que ce soit à comprendre ou à apprendre...

    Je connais les commandes de base mais la commande SET etc.. et le formatage de celui-ci, ... nada!

    Merci en tout cas pour ce bout de code, ça en fera plaisir à plus d'un

  5. #5
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Allez j'ai 5 minutes... je vais te le commenter !


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    ::By SachaDee 2015
    @echo off
    
    REM On active l'expansion retardée
    setlocal enabledelayedexpansion
    
    REM On boucle sur tous les fichiers PDF
    for %%a in (*.pdf) do (
    
    REM On boucle en récupèrant uniquement la date (on élimine l'heure de création en récuperant uniquement le première élément delimité par un espace)
      for /f  "tokens=1 delims= " %%b in ('echo %%~ta') do (
    
    REM On met la date dans une variable
       set "$date=%%b"
    
    REM On remplace les / par des -
       set "$date=!$date:/=-!"
    
    REM on renomme le fichier en cours de traitement
       ren "%%a" "%%~na_!$date!.pdf"))
    Voilà j'espère que ça peut t'aider, ça paraît compliqué mais ça ne l'est pas vraiment.


  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2015
    Messages : 6
    Par défaut
    C'est super merci pour cette explication... mais j'aimerai comprendre "où et comment on apprend ces variable... !?"
    Car rien n'indique dans le Help de la commande For ou autre, comment récupérer la date, en tout cas comment l'extraire du fichier!
    Tu vois où je veux en venir ... ?
    Quel est la base de ce language ? Basic...? Dos ? ... C ...? C+...?
    Et ce n'est qu'un exemple...
    Car nul part n'est indiqué par exemple, comment rediriger une sortie 1>nul ... etc...
    Comment savoir et apprendre ces petits trucs...?
    Si maintenant je veux ajouter l'heure de création à ton batch... je suis perdu... ou presque!
    Car il me manque cette base "avancée" on va dire...!

    HELP... pour un débutant, semi-débutant on va dire.

Discussions similaires

  1. [WD10] Renommer un fichier avec la date de sa création
    Par Vinestro dans le forum WinDev
    Réponses: 2
    Dernier message: 07/08/2009, 11h56
  2. Renommer un fichier avec une date
    Par Sh4dow49 dans le forum Linux
    Réponses: 3
    Dernier message: 15/12/2008, 13h22
  3. Renommer un fichier avec la date
    Par jnauche dans le forum VBScript
    Réponses: 2
    Dernier message: 30/09/2008, 09h45
  4. [Dates] Renommer un fichier avec la date
    Par VFone dans le forum Langage
    Réponses: 5
    Dernier message: 05/06/2008, 11h23
  5. [batch] renommer un fichier avec la date
    Par arcane dans le forum Windows
    Réponses: 3
    Dernier message: 13/05/2005, 14h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo