cs_barada
Messages postés54Date d'inscriptionvendredi 26 mars 2004StatutMembreDernière intervention13 août 2015
-
27 déc. 2006 à 14:34
cs_barada
Messages postés54Date d'inscriptionvendredi 26 mars 2004StatutMembreDernière intervention13 août 2015
-
28 déc. 2006 à 13:31
Bonjour Le forum
Tout aide serait la bienvenue, j' ai besoin de faire une rechercehe simple avec un liste de nom dans un fichier txt. Le script serait de type vb script et recupererait à partir de la liste les noms et me les soit supprimeraient où les déplaceraient dans un autre répertoire.
Merci à tous ceux qui pourraient me venir en aide
If Fso.FileExists(Path & Fichier) Then
'-----------------------------------------------------------
'Lecture et mise en variable du contenu du fichier en entrée
'-----------------------------------------------------------
Const ForReading = 1
Dim objTextStream, i
Set objTextStream = Fso.OpenTextFile(Path & Fichier, ForReading)
Dim Fic()
ReDim Fic(0)
Do While Not ObjTextStream.AtEndOfStream
ReDim Preserve Fic(UBound(Fic) + 1)
Fic(UBound(Fic)) = ObjTextStream.ReadLine
Loop
objTextStream.Close
Set objTextStream = Nothing
End If
For i=1 To UBound(Fic)
If fso.FileExists(Path & Fic(i) & ".txt") Then
If fso.FileExists(RepSauv & Fic(i) & ".txt") Then Fso.DeleteFile(RepSauv & Fic(i) & ".txt")
fso.MoveFile Path & Fic(i) & ".txt", RepSauv & Fic(i) & ".txt"
End If
Next
Set Fso = Nothing
Je regarde pour traiter un fichier contenant:
MARC001;MARC002;
MARC003;MARC004;MARC005;MARC007;
MARC006;MARC012;
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 28 déc. 2006 à 13:08
Re,
mon fichier "test_fichiers.txt" contient les lignes suivantes:
MARC001;MARC002;MARC003;
MARC004;MARC005;MARC007;MARC009;MARC010;MARC011;
MARC006;MARC008;MARC0013;
dans le répertoire Path, j'ai créé 2 fichiers (MARC006.txt et MARC009.txt)
A l'exécution du code ci-dessous, j'affiche bien un msgbox pour les 2 fichiers.
If Fso.FileExists(Path & Fichier) Then
'-----------------------------------------------------------
'Lecture et mise en variable du contenu du fichier en entrée
'-----------------------------------------------------------
Const ForReading = 1
Dim objTextStream, Contenu, strtmp, i
Set objTextStream = Fso.OpenTextFile(Path & Fichier, ForReading)
Do While Not ObjTextStream.AtEndOfStream
strtmp = split(ObjTextStream.ReadLine, ";")
If IsArray(strtmp) = False Then
Else
For i = 0 to Ubound(strtmp)
'MsgBox strtmp(i),,"élément de mon tableau"
If Fso.FileExists(Path & strtmp(i) & ".txt") Then
MsgBox Path & strtmp(i) & ".txt",,"le fichier existe !"
End If
Next
End If
Loop
objTextStream.Close
Set objTextStream = Nothing
End If
Set Fso = Nothing
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 27 déc. 2006 à 15:01
Bonjour,
Exemple pour lire ligne par ligne un .txt
Dim Fso, Fichier
Set Fso = CreateObject("Scripting.FileSystemObject")
Fichier = "d:\test.txt"
If Fso.FileExists(Fichier) Then
'-----------------------------------------------------------
'Lecture et mise en variable du contenu du fichier en entrée
'-----------------------------------------------------------
Const ForReading = 1
Dim objTextStream, Contenu, strtmp, i
Set objTextStream = Fso.OpenTextFile(Fichier, ForReading)
Do While Not ObjTextStream.AtEndOfStream
strtmp = split(ObjTextStream.ReadLine, vbLf)
For i = 0 to Ubound(strtmp)
Contenu = Contenu &vbCrLf& strtmp(i)
MsgBox Contenu
Next
Loop
objTextStream.Close
Set objTextStream = Nothing
End If
Set Fso = Nothing
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 27 déc. 2006 à 15:19
re,
Dim Fso, Fichier, Path, FicSauv
Set Fso = CreateObject("Scripting.FileSystemObject")
Fichier = "d:\test.txt"
Path = "D:\TEST"
If Fso.FileExists(Fichier) Then
'-----------------------------------------------------------
'Lecture et mise en variable du contenu du fichier en entrée
'-----------------------------------------------------------
Const ForReading = 1
Dim objTextStream, Contenu, strtmp, i
Set objTextStream = Fso.OpenTextFile(Fichier, ForReading)
Do While Not ObjTextStream.AtEndOfStream
strtmp = split(ObjTextStream.ReadLine, vbLf)
For i = 0 to Ubound(strtmp)
If Fso.FileExists(Path & strtmp(i)) Then
MsgBox strtmp(i)
'''''''' Fso.CopyFile strtmp(i), FicSauv
End If
Next
Loop
objTextStream.Close
Set objTextStream = Nothing
End If
Set Fso = Nothing
If Fso.FileExists(Path & Fichier) Then
'-----------------------------------------------------------
'Lecture et mise en variable du contenu du fichier en entrée
'-----------------------------------------------------------
Const ForReading = 1
Dim objTextStream, i
Set objTextStream = Fso.OpenTextFile(Path & Fichier, ForReading)
Dim Fic()
ReDim Fic(0)
Do While Not ObjTextStream.AtEndOfStream
ReDim Preserve Fic(UBound(Fic) + 1)
Fic(UBound(Fic)) = ObjTextStream.ReadLine
Loop
objTextStream.Close
Set objTextStream = Nothing
End If
For i=1 To UBound(Fic)
If fso.FileExists(Path & Fic(i)) Then
If fso.FileExists(RepSauv & Fic(i)) Then Fso.DeleteFile(RepSauv & Fic(i))
fso.MoveFile Path & Fic(i), RepSauv & Fic(i)
MsgBox RepSauv & Fic(i)
End If
Next
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 27 déc. 2006 à 18:49
Re,
J'ai testé les 2 propositions, pas de problème, même avec un fichier vide.
Que contient le fichier en entrée ??? Y a-t-il des lignes vides (ici, je ne le vérifie pas) ???
pour la 1ère proposition, on peut rajouter un test ... si strtmp est un tableau.
strtmp = split(ObjTextStream.ReadLine, vbLf)
If IsArray(strtmp) = False Then
Else
For i = 0 to Ubound(strtmp)
MsgBox strtmp(i),,"élément de mon tableau"
If Fso.FileExists(Path & strtmp(i)) Then
MsgBox strtmp(i),,"le fichier existe !"
End If
Next
End If