1 réponse
yg_be
Messages postés
21304
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 mars 2023
1 325
30 mars 2018 à 10:06
30 mars 2018 à 10:06
bonjour, en quel langage programmes-tu? peux-tu partager ton code?
qu'est-ce qui t’empêche de controller les répertoires?
moi j'essaierais avec un for each.
qu'est-ce qui t’empêche de controller les répertoires?
moi j'essaierais avec un for each.
30 mars 2018 à 10:39
j'utilise déjà un catch pour sauter l'erreur au premier lancement de l'app. Ca marche très bien donc ne soyez pas perturbé si le code dans le catch est très fortement identique à celui qui est dans le try.
je suis dispo pour vos questions.
Merci pour votre réponse.
voici mon code :
Sub NewFiles(ByRef tab_new() As String)
Dim tab_search(1000) As String
CreationFichierTXT(path_txt, user)
ReadIniFile(Mypath, CopyIn, Extension, StartDate)
nombreLignes_txt(NombreLignestxt)
' CreationFichierTXT(path_txt, user)
Dim fi As New System.IO.FileInfo(path_txt)
Dim i As Integer = 0
Dim a As Integer = 1
Dim z As Integer = 0
Dim f As Integer = 0
Dim i_rec As Integer = 0
Dim cheminautorise(1000) As String
Dim IncludeSubFolders As Boolean = True
' LoadFileList(Mypath(a), list1)
' recherhce()
' test()
Try
Dim lines() As String = File.ReadAllLines(path_txt)
Dim touttext As String = File.ReadAllText(path_txt)
Dim Fichier As String
For Each Fichier1 As String In My.Computer.FileSystem.GetFiles(Mypath(a), FileIO.SearchOption.SearchAllSubDirectories, "*" + Extension)
If Path.GetFileName(Fichier1).ToLower.Contains(Extension) Then
Fichier = CreateObject("Scripting.FileSystemObject").GetFileName(Fichier1)
Dim verif_MDF() As String = File.ReadAllLines(Fichier1)
If verif_MDF(0).Contains("MDF") Then
If Fichier1 <> "" Then
tab_search(z) = Fichier1
End If
If Not lines.Contains(Fichier1 + ";C;") And Not lines.Contains(Fichier1 + ";A;") And Not lines.Contains(Fichier1 + ";B;") Then
Dim dt As Date
Dim DateModifFichier As Date
Dim tailleFichiers As String
dt = FileDateTime(Fichier1)
DateModifFichier = FileDateTime(Fichier1)
' DateModifFichier = Format(Fichier1)
tailleFichiers = FileLen(Fichier1)
If Not touttext.Contains(Fichier1 + ";A;" + DateModifFichier + ";" + tailleFichiers) Then
MonFichier = My.Computer.FileSystem.OpenTextFileWriter(path_txt, True)
MonFichier.WriteLine(Fichier1 + ";A;" + DateModifFichier + ";" + tailleFichiers)
MonFichier.Close()
End If
End If
While i < NombreLignestxt
If lines(i).Contains(tab_search(z)) And lines(i).Contains(";A;") Then
tab_new(f) = tab_search(z)
f = f + 1
End If
i = i + 1
End While
z = z + 1
i = 0
End If
End If
Next
Catch so As Exception
Dim lines(1000) As String
Dim Fichier As String
For Each Fichier1 As String In My.Computer.FileSystem.GetFiles(Mypath(a), FileIO.SearchOption.SearchAllSubDirectories, "*" + Extension)
If Path.GetFileName(Fichier1).ToLower.Contains(Extension) Then
Fichier = CreateObject("Scripting.FileSystemObject").GetFileName(Fichier1)
Dim verif_MDF() As String = File.ReadAllLines(Fichier1)
If verif_MDF(0).Contains("MDF") Then
If Fichier1 <> "" Then
tab_search(z) = Fichier1
End If
If Not lines.Contains(Fichier1 + ";C;") And Not lines.Contains(Fichier1 + ";A;") And Not lines.Contains(Fichier1 + ";B;") Then
MonFichier = My.Computer.FileSystem.OpenTextFileWriter(path_txt, True)
MonFichier.WriteLine(Fichier1 + ";A;")
MonFichier.Close()
End If
While i < NombreLignestxt
If lines(i).Contains(tab_search(z)) And lines(i).Contains(";A;") Then
tab_new(f) = tab_search(z)
f = f + 1
End If
i = i + 1
End While
z = z + 1
i = 0
End If
End If
Next
End Try
End Sub
Modifié le 30 mars 2018 à 11:28
sub newfiles traiterdossier(getfolder(Mypath(a))) end sub private sub traiterdossier(undossier) for each dossier in undossier.subfolders traiterdossier(dossier) next dossier For Each Fichier1 As String In My.Computer.FileSystem.GetFiles(undossier.path, , "*" + Extension) ' ... end subainsi, c'est toi qui contrôle les répertoires, sans utiliser l'option SearchAllSubDirectories
30 mars 2018 à 12:15