Si *.txt existe et si *.txt de plus de 4h alors... - VB/VBA/VBS - Programmation
Marsh Posté le 30-05-2012 à 10:05:28
Tu récupères la date et heure de création du fichier puis on récupère la date et heure courante.
Marsh Posté le 30-05-2012 à 21:09:29
Ben voyons! et la marmotte....si c'était aussi simple je ne serai pas sur les forums à la recherche d'une solution!!! Alors je réexplique pour ceux qui n'auraient pas tout compris!
Prenons un dossier \etat\tata contenant 300 fichiers : des .xls, des .bat, des .htm, des .doc .....etc, et enfin des .cli;
Je veux pouvoir faire une recherche dans le dossier tata sur l'existance ou non de fichier .cli; et s'ils existent savoir s'ils ont plus de X heures!
Ca c'est pour simplifier! Car ce que je cherche vraiment c'est ceci :
rechercher l'exitance du fichier xs25.dat du dossier \etat\titi récuperer sa date et heure de modif et comprarer cette datte et heure avec l'heure et la date de tout les fichiers .cli du dossier \etat\tata!
Me suis-je fais comprendre cette fois???
Alors la marmotte emballe toujours???
Et si c'est si simple et nul à chier, alors va y "pond" moi quelquechose!
Amicalement vôtre
Olivier
Marsh Posté le 30-05-2012 à 21:11:31
rufo a écrit : Tu récupères la date et heure de création du fichier puis on récupère la date et heure courante. |
Ben voyons! et la marmotte....si c'était aussi simple je ne serai pas sur les forums à la recherche d'une solution!!! Alors je réexplique pour ceux qui n'auraient pas tout compris!
Prenons un dossier \etat\tata contenant 300 fichiers : des .xls, des .bat, des .htm, des .doc .....etc, et enfin des .cli;
Je veux pouvoir faire une recherche dans le dossier tata sur l'existance ou non de fichier .cli; et s'ils existent savoir s'ils ont plus de X heures!
Ca c'est pour simplifier! Car ce que je cherche vraiment c'est ceci :
rechercher l'exitance du fichier xs25.dat du dossier \etat\titi récuperer sa date et heure de modif et comprarer cette datte et heure avec l'heure et la date de tout les fichiers .cli du dossier \etat\tata!
Me suis-je fais comprendre cette fois???
Alors la marmotte emballe toujours???
Et si c'est si simple et nul à chier, alors va y "pond" moi quelquechose!
Amicalement vôtre
Olivier
Marsh Posté le 31-05-2012 à 05:32:35
On ne pond pas le boulot à la place des gens sur ce forum.
C'est excessivement simple à faire, et très documenté. J'ai posté des bouts de code du genre sur des topics de personnes qui voulaient supprimer des fichiers anciens via un script vbs. Une petite recherche devrait te permettre de retrouver ça.
Si tu as encore des problèmes spécifiques, poste les. Mais arriver les mains vides et dire "sortez vous les doigts du cul pour taffer à ma place", ça marche pas trop ici.
Marsh Posté le 31-05-2012 à 05:38:56
Un exemple de code pour comparer une date de fichiers : http://forum.hardware.fr/hfr/Windo [...] m#t3036672
Marsh Posté le 31-05-2012 à 09:32:32
Nyati1969 a écrit : |
Ouais, on va se calmer, hein..
Marsh Posté le 31-05-2012 à 11:42:06
Nyati1969 a écrit : |
Je maintiens que c'est simple ce que tu demandes, mais je ne vais pas te donner le code tout fait (surtout demandé sur ce ton ) mais je vais te donner les fonctions principales à utiliser si ton script était codé en php au lieu de VBS (j'ai pris php parce que j'aurais pris ce langage si j'avais dû coder ton truc, que je fais peu de vbs et que je vais pas aller chercher le nom des fonctions équivalentes à celles de php) :
- listage des fichiers d'un répertoire : scandir() ou glob()
- vérification de l'existence d'un fichier ou d'un dossier : file_exists()
- détecter si c'est un répertoire : is_dir()
- détecter si c'est un fichier : is_file()
- récupération de sa date et heure de création : filectime()
- récupération de la date et heure courante : date("Y-m-d H:i:s" ) ou time()
- pour le filtrage sur les extensions : glob() ou basename()
Le reste des traitement n'est que de l'algorithmie basique. A toi de trouver l'équivalent de ces fonctions en VBS si t'es obligé de le faire en VBS...
Marsh Posté le 01-06-2012 à 01:02:12
rufo a écrit : |
Bonjour Rufo,
Avant tout : merci pour enfin une réponse!
Mon ton?????
Avant de répondre, à ce reproche, vouyons un peu ce qu'est un Forum!!!
Etymologiquement :
Place où se réunissait le peuple pendant l'Antiquité
http://fr.wikipedia.org/wiki/Forum_(informatique)
Un forum est avant tout un site d'échange, par le biais de messages, que ceux-là soient disponibles sur Internet ou bien sur un réseau informatique interne comme un intranet ou encore un extranet. Les discussions y prennent place sous la forme de « fils » de messages, à publication instantanée ou différée ; cette publication est souvent durable, car les messages ne sont pas effacés. Elle est par nature le fait de plusieurs auteurs. Dans certains forums à inscription, les messages sont modifiables a posteriori par leurs auteurs.
Les fonctionnalités offertes par les différents forums (citation, existence de titres ou non, mise en page/indentation, administration/droits d'accès, modération a priori ou a posteriori...) peuvent varier, et les forums peuvent traiter différemment les messages : ainsi certains ne permettent que de répondre de manière globale à un sujet de discussion, tandis que d'autres permettent de répondre à un message en particulier.
Il y à qques années de cela, le Point ou l'Express établissait un tableau des top 10 ou 20 ( ma mémoire me fait défaut) où la des pays selon la politesse, l'aimabilit" des ses autochtones!!!
Eh bien seriez vous surpris, si vous disait que la France arrivait en bas de ce classement! la France vu par l'étranger = grossier, impolis......
Mes constats :
&- Pourquoi une fois sur deux, des questions connes ont des réponses bien détaillés!!!! cf. http://forum.hardware.fr/hfr/Progr [...] 8167_1.htm
2- Pourquoi une fois sur deux, à une question posé, la réponse est : " ben c'est con comme question!!!! Y a ka....et puis quoi encore je ne vais pas faire ton taf à ta place!!!!"
Sommes nous des étudiants d'une filière où le numérus clausus est si bas qu'on hésite pas à faire des coups bas pour que son meilleur ami d'enfance se casse la gueule te ne soit pas dans les 100 premiers acceptés?????
Sommes nous dans une entreprise où l'on fait tout pour que le prestataire de la boîte concurente sooit maudit du client, et que le client choississe à l'avenir un collaborateur de notre boite, tout çà pour faire finalement du lèche cu à son N+1?????
3- Pourquoi, pour fréquenter les forums anglophones, jamais oh grand jamais aucun membre du forum répond "You have to....."???
Ah peut être parce qu'il figurait 5ème ou 3ème dans ce fameux top 10/20??????
Rufo, je ne te demande pas de me macher le travail, ni de me "pondre" de A à Z le code!
Je te demande juste une piste, une fonction qui me permettrai d'avancer!!!
Je suis aussi autodidacte dans pas mal d'applications, langages de programmation! Il m'est arrivé faute de trouver une réponse, de mettre en stand by un problème durant deux ans!
Et un jour alors que je rechercherchai dans l'aide plus de précision sur une fonction, j'ai eu la réponse à mon problème en stand by!! Et pourtant ce n'est pas faute d'avoir saisie dans l'aide de l'application différents mots clés, d'avoir fait chauffer google avec mille et uns mots clés.....
Il m'arrive de parcourir des forums sur des sujets que je maitrisse, afin de maintenir mes acquis actifs et de dévellopper d'autres connaissances! Jamais, oh non jamais, je ne me suis permis de répondre : "y a ka......."!!!
Pourquoi? eh ben je n'oublie pas d'où je viens!!! Au début de l'apprentissage de chaque langage que je connais j'ai galéré, galéré et galéré...!!! Maintenant je peux dire : je sais!!! c'est tout con!!!!! Mais au lieu répondre cela, je préfère répondre :" connais tu cette fonction???? non??? ben voilà elle te sert à faire cela....regarde sur google ou dans l'aide les paramètres et comment l'utiliser....; ensuite reviens vers moi avec ce que tu as fais comme travail et je te coorigerai et/ou t'orienterai vers une autre méthode....
Tel est ma politique!!!! Ne pas macher la réflexion à la place de l'autre mais au moins lui donner une substantifique moelle à manger!!!
Et ton lien http://forum.hardware.fr/hfr/Windo [...] m#t3036672 m'a donné une substantifique moelle à manger!!! miam miam :-)
Et je t'applaudi là pour cette réponse, même si je n'ai pas encor tester! mais au moins là tu ne t'es pas contenté de dire :"y ka non mais c'est tout con petit crétin....prout., prout, prout....poil au cu!."
En conclusion :
Pourquoi être aussi égoiste???? Partager ses connaissances, aider l'autre....est-ce un si grand sacrifice???? Si oui, ben pardon de t'avoir couper un bras pour m'indiquer ce lien!!!
Amicalement Vôtre!
Olivier
Marsh Posté le 01-06-2012 à 01:10:34
ccp6128 a écrit : On ne pond pas le boulot à la place des gens sur ce forum. |
Euh dis moi, quelle mot clé as tu utilisé pour retrouver ton topic??? parce que moi si je met :"supprimer des fichiers anciens " ou suppression fichiers .* ou .......mille et uns autres mots clé eh ben j'ai aucun résultat!!
Mais oh pardon, mille excuses, je te demande là encore de me macher mon travail!!!! ;-)
Marsh Posté le 01-06-2012 à 01:23:22
rufo a écrit : Tu récupères la date et heure de création du fichier puis on récupère la date et heure courante. |
Ben en dos C:\Windows\System32\forfiles /M *.doc /D -3 /P "C:\Users\Nicolas\Desktop\vbstest\titi" /C "cmd /c del @path" ca marche nickel chrome
Par contre en VBS pour le lancer ?????
Dim objShell
Set objShell = WScript.CreateObject ("WScript.shell" )
objShell.run "C:\Windows\System32\forfiles /M *.doc /D -3 /P 'C:\Users\Nicolas\Desktop\vbstest\titi' /C 'cmd /c del @path'
"
Oui je sais vais faire chauffer google pour trouver comment lancer un dos en vbs!
Marsh Posté le 01-06-2012 à 02:11:06
Nyati1969 a écrit : |
Ca y'est ai trouvé :
Dim objShell
Set objShell = WScript.CreateObject ("WScript.shell" )
objShell.run "C:\Windows\System32\forfiles /M *.doc /D -1 /P ""C:\Users\Nicolas\Desktop\vbstest\titi"" /C ""cmd /c del
mais çà ne marche qu'avec les nombre de jours pas d'heures!!!!!
Amicalement Vôtre
Olivier
path"""
Marsh Posté le 01-06-2012 à 06:00:43
Ouaip, donc la t'es en train de vouloir réutiliser du batch en vbscript, très mauvaise idée. Si tu veux faire du batch, fais du batch. Si tu dois passer par Vbscript, utilise les fonctionnalités natives du langage.
T'as lu l'exemple que je t'ai donné ? Le vbscript offre des fonctions natives pour récupérer et manipuler les dates de création / modification de fichiers.
Vu que tu as détaillé les étapes de ton script, il te suffit de trouver les mots clés adéquats, par exemple sur le site de bellamyjc pour les bases, et la doc msdn pour une référence plus complète.
Marsh Posté le 29-05-2012 à 21:45:42
Bonjour,
Je sais comment faire pour vérifier si un fichier blabla.tata existe. Par contre je ne trouve aucun sujet sur comment faire pour vérifier si des fichiers *.toto existe et ont une existance de plus de x heures.
Je m'explique :
Prenons l'extension .txt et le répertoire c:\test
dans ce dossier test, je mets plusieurs fichiers .xls,.doc,.txt,.tata
Je veux par vbs savoir :
1- si des fichier .txt existe et si ils ont plus de X heures
2- si le dossier test n'est pas vide et contient des fichiers autres que ceux portant l'extension .tata
Est ce possible de faire cela en vbs???
Si oui merci de votre aide
Amicalement votre
Olivier