Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 2
Aller à la page: 1, 2  >
Programme pour vérifier date entre deux fichiers
Auteur Message
Répondre en citant
Message Programme pour vérifier date entre deux fichiers 
Bonjour,

Je souhaite créer un programme qui s'exécutera tous les lundis qui va vérifier la date de dernière modif d'un fichier(Excel) X qui est créé tous les dimanches.
Si ce fichier X a une date de modification > à 1 jour lorsque je fait le contrôle le lundi qui suit, ne rien faire.
Si la date <= à 1, je souhaite copier ce fichier X vers un autre dossier, le renommer sous la forme Y_datedujour (ex: si on est lundi 01 janvier 2012 : B_010112).

Merci par avance de vos réponses.



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Re: Programme pour vérifier date entre deux fichiers 
Hello,

Stryk va se faire une joie folle de résoudre ton problème Mr. Green (troll)

Merci,
£`/@]




______________________________________________________


*Si l'erreur est humaine c'est parce que l'humanité en est une.*

£'/@] - Anciennement rekaca
MSN Skype
Répondre en citant
Message Programme pour vérifier date entre deux fichiers 
Smile Merci beaucoup Smile



Répondre en citant
Message Programme pour vérifier date entre deux fichiers 
Héhé, oui, je te fais ça ce soir ou demain mâtin Wink




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message Programme pour vérifier date entre deux fichiers 
stryk a écrit:
Héhé, oui, je te fais ça ce soir ou demain mâtin Wink


En plus d'être sympa, t'es rapide réactif !!! Okay
Merci beaucoup.

Peux-tu par la même occasion m'expliquer ce que tu fais dans le batch (si tu as un peu plus de temps à m'accorder !!!) ??? Embarassed

Merci encore.



Répondre en citant
Message Programme pour vérifier date entre deux fichiers 
Hello,

Bon je n'ai pas bien suivi pour > ou < à 1 jour ...
Tu lance le batch le lundi et si le fichier a été créer le dimanche il ne se passe rien sinon on copie, c'est ça ???

Je poste déja un bout de code, c'est juste pour récupérer la date de dernière modif de ton excel !!
Code:

@echo off
:: définir ici le nom et chemin du fichier
set FILE=FICHIER.xls

:: Lecture + récupération de la date de dernière modif du fichier !
for %%A in (%FILE%) do (
    for /f "tokens=1" %%B in ("%%~tA") do (
        set DAT_FILE=%%B
        )
    )

:: affichage de la date de dernière modif du fichier !
echo %DAT_FILE%

pause





______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message Programme pour vérifier date entre deux fichiers 
C'est ça je lance le batch le lundi.
Et j'ai un fichier qui est automatiquement créer le dimanche précèdent mais il peut arriver qu'il ne le soit pas donc je pense < 1.
Si le fichier est créé le dimanche précédent, je copie ce fichier à un autre endroit et je le renomme en Y_datedulundi sous la forme : Y_010112.

Merci quand même

Bon courage pour la suite.

Wink



Répondre en citant
Message Programme pour vérifier date entre deux fichiers 
Je pense que le plus dur du programme arrive.
Il faut arriver à vérifier qu'on soit ou non en année bissextile si jamais le lundi tombe un 1er mars, le dimanche peut-être un 29 ou 28.
Ensuite suivant les mois avec 31 jours (Janvier, Mars, Mai, Juillet, Août, Octobre, Décembre) sachant qu'en plus d'en cette liste il y a en quatre qui se précèdent (31 décembre et 1 Janvier, 31 Juillet et 1 Août) ou les mois à 30 jours (Avril, Juin, Septembre, Novembre).

Question Crying or Very sad Question

Je vais quand même essayer de réfléchir un peu.



Répondre en citant
Message Programme pour vérifier date entre deux fichiers 
Ma fille m'ayant réveillée Neutral , je me suis mis sur la toile et voilà le résultat de ma recherche :

Code:

@echo off
echo>_.vbs wscript.echo eval("date-1")
for /f "tokens=*" %%y in ('cscript/nologo _.vbs') do (set y=%%y)
echo HIER: %y%
del _.vbs 2>nul
pause


Je l'ai testé et ça à l'air correct.



Répondre en citant
Message Programme pour vérifier date entre deux fichiers 
Hola ^^
Bon bah j'ai fait le feignant Mr. Green , j'ai repris ton truc pour la date "hier" !!

Voici ton code terminé !
Désolé pour le retard, j'ai fais la fête ce week-end, pas la tête à coder Laughing

( n'oublies pas les balises codes pour tes posts )

Code:

@echo off
:: définir ici le nom et chemin du fichier
set FILE=FICHIER.xls
:: définir ici le répertoire de destination pour la copie
set REP=%homedrive%

:: création de la date du jour sans les //
set X=%date:~9,1%
for /f "tokens=2,3,4 delims=(,-,)" %%a in ('"echo ^M|date"') do (
  set NB_1=%%a
  set NB_2=%%b
  set NB_3=%%c
  )
if %NB_1%==aa (
   if defined X  set ANNEE=%date:~0,4%
   if not defined X set ANNEE=%date:~0,2%
   )
if %NB_1%==mm set MOIS=%date:~0,2%
if %NB_1%==jj set JOUR=%date:~0,2%

if %NB_2%==aa (
   if defined X  set ANNEE=%date:~3,4%
   if not defined X set ANNEE=%date:~3,2%
   )
if %NB_2%==mm (
   if %NB_1%==aa (
      if defined X  set MOIS=%date:~5,2%
      if not defined X set MOIS=%date:~3,2%
      )
   if %NB_1% NEQ aa set MOIS=%date:~3,2%
   )
if %NB_2%==jj (
   if %NB_1%==aa (
      if defined X  set JOUR=%date:~5,2%
      if not defined X set JOUR=%date:~3,2%
      )
   if %NB_1% NEQ aa set JOUR=%date:~3,2%
   )
if %NB_3%==aa (
   if defined X set ANNEE=%date:~-4%
   if not defined X set ANNEE=%date:~-2%
   )
if %NB_3%==mm set MOIS=%date:~-2%
if %NB_3%==jj set JOUR=%date:~-2%

set TODAY=%JOUR%%MOIS%%ANNEE:~2,2%

:: Lecture + récupération de la date de dernière modif du fichier !
for %%A in (%FILE%) do (
    for /f "tokens=1" %%B in ("%%~tA") do (
        set DAT_FILE=%%B
        )
    )

echo>_.vbs wscript.echo eval("date-1")
for /f "tokens=*" %%y in ('cscript/nologo _.vbs') do (set YEST=%%y)
echo Hier: %YEST%
del _.vbs 2>nul

:: mise en place de la condition + action
if not %DAT_FILE% EQU %YEST% (
    xcopy %FILE% %REP%\
    rename %REP%\%FILE% Y_%TODAY%.xls
    cls
    echo Nouveau fichier copie !
    goto :JUMP
    )
cls
echo Pas de modifications ...
:JUMP
pause





______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message Programme pour vérifier date entre deux fichiers 
Merci pour ton boulot, je teste cet après-midi et je te tiens au courant. Okay

Désolé pour les balises, c'est la dernière fois que je les oublie. Embarassed



Répondre en citant
Message Programme pour vérifier date entre deux fichiers 
J'ai testé et première ligne ça ne marche pas Neutral
Voici l'erreur affichée
Code:
.xls) était inattendu.


Mes fichiers sont sur des lecteurs réseaux. Voilà ce que j'ai mis aux variables:
Code:
:: définir ici le nom et chemin du fichier
set FILE=N\:test1\test2(filtres).xls
:: définir ici le répertoire de destination pour la copie
set REP=M:\test3\test4\test5

Est-ce que les caractères spéciaux peuvent gêner ((),_, pas d'accents) ? Est-ce que le nombre de caractères du chemin peut être un problème ?
J'ai testé un xcopy de ces deux fichiers, c'est ok !!!

Merci de ton aide



Répondre en citant
Message Programme pour vérifier date entre deux fichiers 
Oui attention aux caractères spéciaux il faut utiliser le caractère d'échappement

N\:test1\test2(filtres).xls
------------------------------------> N\:test1\test2^(filtres^).xls




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message Programme pour vérifier date entre deux fichiers 
Hello,

Laddy a écrit:
Oui attention aux caractères spéciaux il faut utiliser le caractère d'échappement

N\:test1\test2(filtres).xls
------------------------------------> N\:test1\test2^(filtres^).xls


A mon avis, il serais bien d'échapper les "\" avec.

Merci,
£`/@]




______________________________________________________


*Si l'erreur est humaine c'est parce que l'humanité en est une.*

£'/@] - Anciennement rekaca
MSN Skype
Répondre en citant
Message Programme pour vérifier date entre deux fichiers 
Rekaca Non c'est un chemin, à la limite entre guillemet.




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Message Programme pour vérifier date entre deux fichiers 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 2
Aller à la page: 1, 2  >
  



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