Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[RESOLU] Renommage en fonction date de modif fichier
Auteur Message
Répondre en citant
Message [RESOLU] Renommage en fonction date de modif fichier 
Bonjour à tous,

je suis en train de travailler sur un petit script qui me permettra (dans un futur proche je l'espere) de renommer des fichier en OLD ou NEW en fonction de leur date de création.

Voici ce que j'ai reussi a faire :

Code:

@echo off

set $DateActuel=%date%
setlocal enabledelayedexpansion

echo Date actuel : %$dateActuel%
echo.


rem modification du nom en fonction de la date de modification/creation


for %%a in (*.bak) do ( set $fic=%%a
         set $DateFichier=%%~ta
                                  set $DateFichier=!$DateFichier:~0,10!
                                  echo Date de creation de %%~na : !$DateFichier!
      if %$DateActuel% == !$DateFichier!(
                                  set $NomFichier=!$fic:~0,-31!
                                                            ren %%a !$NomFichier!_NEW.bak
                   )
      if not %$DateActuel% == !$DateFichier!(   
                     set $NomFichier=!$fic:~0,-8!
                                                            ren %%a !$NomFichier!_OLD.bak
                )
                             )


J'ai systématiquement une erreur de syntaxe juste avant le FOR.
je vois vraiment pas d'ou ça peut venir? j'ai effectué pas mal de modif mais je bloque toujours....

merci d'avance pour votre aide et bonne journée,

N.B




______________________________________________________
Si y'a un problème y'a une solution. Si y'a pas de solution c'est qu'il y'a pas de problème
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [RESOLU] Renommage en fonction date de modif fichier 
Hello Mr. Green

J'ai regardé à la vas-vite et pour moi c'est les conditions qui merdent, il te suffira de mettre un espace entre
la variable et la parenthèse (j'essais d'être le plus clair possible..), exemple:

Remplace ça:
Code:
if %$DateActuel% == !$DateFichier!(


Par :
Code:
if %$DateActuel% == !$DateFichier! (


Fais de même pour les deux traitements conditionnels et ça devrait fonctionner syntaxiquement.

Tiens moi au courant Wink




______________________________________________________
│Øδ@π.
Visiter le site web du posteur Skype
Répondre en citant
Message [RESOLU] Renommage en fonction date de modif fichier 
Et pour être à 100% sur que ça ne foire pas:

Code:
if "%$DateActuel%" EQU "!$DateFichier!" (


Okay

Dylan.




______________________________________________________
Viens découvrir INTERPOL, un nouveau langage interprété !

Yahoo Messenger
Répondre en citant
Message [RESOLU] Renommage en fonction date de modif fichier 
Yeah enfin ! juste pour un espace avant une parenthése...voila pourquoi j'ai pas choisis la voie de développeur.
Merci a vous !

Remarque c'est notepad ++ qui m'indiquer une erreur avec les parenthéses.
Vous utilisez quoi comme éditeur pour le batch ?




______________________________________________________
Si y'a un problème y'a une solution. Si y'a pas de solution c'est qu'il y'a pas de problème
Répondre en citant
Message [RESOLU] Renommage en fonction date de modif fichier 
Starky, à ma connaissance, "==" ne 'foirera' pas plus qu'"EQU" ^^


Nicow, pour le batch tu a effectivement Notepad++ mais tu peux aussi utiliser PowerBatch.
Personnellement j'utilise Notepad++ mais PowerBatch est un très bon éditeur pour débutants
comme pour initiés.

@++

Okay




______________________________________________________
│Øδ@π.
Visiter le site web du posteur Skype
Répondre en citant
Message [RESOLU] Renommage en fonction date de modif fichier 
Je vais devenir dingue !

Impossible de faire comprendre au script que la date de creation du fichier est la meme que la date actuel.
il me renomme systématiquement tout en _OLD.bak

Les dates sont au meme format.
Enfin, elle sort wed 10/16/2013 et la date de creation en 10/16/2013
Je modifie donc la variable date actuel pour enlevé le "wed".

je sais pa sis c'est ça qui bloque mais pour le script les dates ne correspondent jamais....


Code:

set $dateActuel=%date:~4,10%
setlocal enabledelayedexpansion

echo Date actuel : %$dateActuel%


EDIT : OK fausse alerte. A force de modifier le script j'ai une faute de frappe sur une variable qui bloquer tout. ça fonctionne Embarassed




______________________________________________________
Si y'a un problème y'a une solution. Si y'a pas de solution c'est qu'il y'a pas de problème
Message [RESOLU] Renommage en fonction date de modif fichier 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch