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
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
Je te conseil de passer par un petit script VBS ! Cela est en effet très simple à faire :
Voila la seule chose à modifier c'est le nom du répertoire (c:\ par exemple)
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
Mais je te conseil de le tester avant dans un dossier où tu na pas de risque.
J'espère que cela t'aidera
salut,
sinon il existe le programme forfiles qui peut te permettre de faire ce que tu veux
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
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
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
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
Voici un un peut de code...
Fonction qui permet de créer un fichier txt
Fonction qui te permet d'écrire dans ton fichier :
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
appel des deux fonctions :
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
Le "oFld.Path" contient le chemin complet de ton fichier, donc son nom aussi !
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
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 :
J'espère que c'est compréhensible...If oFile.Datecreated < (Date() - iDaysOld) Then
Rec = oFile.Datecreated
End If
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager