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

  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 239
    Points
    8 239
    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 239
    Points
    8 239
    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...

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