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

Windows Serveur Discussion :

lister des fichiers créés à une date donnée


Sujet :

Windows Serveur

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 125
    Points : 46
    Points
    46
    Par défaut lister des fichiers créés à une date donnée
    Bonjour je cherche une façon de lister dans un fichier txt les fichiers et répertoires créés à une date définie.

    j'ai tenté DIR /od mais les noms de fichier sont trop long.

    pouvez vous m'aidez svp.

    Merci

  2. #2
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Points : 5 347
    Points
    5 347
    Billets dans le blog
    5
    Par défaut
    Je te conseil de passer par un petit script VBS ! Cela est en effet très simple à faire :
    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
    22
    23
    24
    Option Explicit
    Dim oFSO, oFolder, sDirectoryPath
    Dim oFileCollection, oFile, sDir
    Dim iDaysOld
    
    sDirectoryPath = "C:\Mes Documents"
    
    iDaysOld = 30
    
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    Set oFolder = oFSO.GetFolder(sDirectoryPath)
    Set oFileCollection = oFolder.Files
    For each oFile in oFileCollection
    
    If oFile.DateLastModified < (Date() - iDaysOld) Then
    	oFile.Delete(True)
    End If
    
    Next
    
    Set oFSO = Nothing
    Set oFolder = Nothing
    Set oFileCollection = Nothing
    Set oFile = Nothing
    Voila la seule chose à modifier c'est le nom du répertoire (c:\ par exemple)
    Mais je te conseil de le tester avant dans un dossier où tu na pas de risque.
    J'espère que cela t'aidera
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  3. #3
    Expert éminent
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Points : 8 237
    Points
    8 237
    Par défaut
    salut,
    sinon il existe le programme forfiles qui peut te permettre de faire ce que tu veux

  4. #4
    Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 125
    Points : 46
    Points
    46
    Par défaut
    merci pour vos réponses.

    je cherche à lister des fichiers par rapport à une date de création pas de modification et je ne veux surtout pas les supprimer.

    Merci

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 125
    Points : 46
    Points
    46
    Par défaut
    j'ai modifier le script afin de scanner les fichiers créés à la date demandés. cependant je ne parviens pas à lister les fichiers.
    "le programme affiche uniquement les dates de création des fichiers présents sur C:\"
    je souhaite avoir les noms de fichiers ainsi que leur dates de création
    si vous pouvez m'aider à transférer les noms des fichier vers un TXT.

    Option Explicit
    Dim oFSO, oFolder, sDirectoryPath
    Dim oFileCollection, oFile, sDir
    Dim iDaysOld
    Dim Rec

    sDirectoryPath = "C:\"

    iDaysOld = 0

    Set oFSO = CreateObject("Scripting.FileSystemObject")
    Set oFolder = oFSO.GetFolder(sDirectoryPath)
    Set oFileCollection = oFolder.Files
    For each oFile in oFileCollection

    If oFile.Datecreated < (Date() - iDaysOld) Then
    Rec = oFile.Datecreated
    End If

    WScript.Echo Rec

    Next

    Set oFSO = Nothing
    Set oFolder = Nothing
    Set oFileCollection = Nothing
    Set oFile = Nothing

  6. #6
    Expert éminent
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Points : 8 237
    Points
    8 237
    Par défaut
    forfiles ne supprime pas les fichiers, on fait ce que l'on veut avec
    le principe : pour tous les fichiers du 15 décembre 2007, faire telle action (afficher, envoyer dans un script, supprimer, etc)

    c'est à mon avis plus simple qu'utiliser un script

  7. #7
    Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 125
    Points : 46
    Points
    46
    Par défaut
    Bonjour Michael,

    j'ai cherché avec avec la commande forfiles por realiser ça.

    set date_=19/11/2009
    if exist C:\script.txt del C:\script.txt
    for /f "delims=" %%f in ('dir "C:\" /s /b /a:-d') do (echo %%f %%~tf | find "%date_%" > nul && echo %%~tf %%~ff>> c:\script.txt)

    pause

    le Problème est que forfiles cherche les fichiers modifier et non créés.

    as tu une solution pour qu'il liste les fichiers créés à une date donnée ?
    Merci

  8. #8
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Points : 5 347
    Points
    5 347
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par micka180 Voir le message
    j'ai modifier le script afin de scanner les fichiers créés à la date demandés. cependant je ne parviens pas à lister les fichiers.
    "le programme affiche uniquement les dates de création des fichiers présents sur C:\"
    je souhaite avoir les noms de fichiers ainsi que leur dates de création
    si vous pouvez m'aider à transférer les noms des fichier vers un TXT.
    Voici un un peut de code...
    Fonction qui permet de créer un fichier txt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Function CreateAfile(resumeFile)
       Dim fso, MyFile 'fso pour File System Object
       Set fso = CreateObject("Scripting.FileSystemObject")
       Set MyFile = fso.CreateTextFile(resumeFile, True)
    End Function
    Fonction qui te permet d'écrire dans ton fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Function WriteText(MyFile,myText)
       Const ForReading = 1, ForWriting = 2, ForAppending = 8
       Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
       Dim fso, f, ts
       Set fso = CreateObject("Scripting.FileSystemObject")
       Set f = fso.GetFile(MyFile)
       Set ts = f.OpenAsTextStream(ForAppending, TristateUseDefault)
       ts.WriteLine myText
       ts.Close
    End Function
    appel des deux fonctions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RecupFile = "D:\RecapSupprDossierVide_" & Day(Now) & Month(Now) & Year(Now) & ".txt"
    CreateAfile(RecupFile)
    
    WriteText RecupFile, oFld.Path
    Le "oFld.Path" contient le chemin complet de ton fichier, donc son nom aussi !

    Il te suffit de créer le fichier de "récap" au début de ton code puis de placer l'écriture dans ta boucle if :
    If oFile.Datecreated < (Date() - iDaysOld) Then
    Rec = oFile.Datecreated
    End If
    J'espère que c'est compréhensible...
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

Discussions similaires

  1. Réponses: 10
    Dernier message: 23/04/2007, 22h59
  2. Lister les fichiers antérieurs à une date X
    Par bragon dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 05/04/2007, 19h54
  3. [Conception] Lister des fichiers avec une URL
    Par dontDeleteMe dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 20/03/2007, 08h16
  4. Lister l'esemble des fichiers présents à une URL donnée
    Par gabest dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 17/05/2006, 14h05
  5. Boucle en Dos pour lister des fichiers selon une date
    Par Corben dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 17/12/2005, 12h17

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