Italian Leggere il contenuto di tutte le cartelle

ivanomonti

Expert
Licensed User
Longtime User
Ciao ragazzi e grazie per la vostra pazienza, devo leggere cartelle su cartelle e vi garantisco sono un botto (documentale) devo creare un metodo che mi legge le cartelle a cascata e mi tenga traccia del file e del suo path in quanto devo rinominare il tutto con un metodo imposto.

Ogni cartella tiene uno ho più documenti che ora sto facendo una ad una, veloce ma palloso, chi mi suggerisce un qualcosa di valido che mi legga il contenuto di ogni singola cartella e come detto sopra mi tenga anche la path

ESEMPIO BANALE MA REALE

FOLDER aceto samuele
DOC documento.pdf
PATH: c:\\cartella madre\acetomanuele\documento.pdf

grazie per la stima e per tutte le parolacce che mi tirate, purché si trovi un idea :)

2023-02-17_203607.jpg
 

Star-Dust

Expert
Licensed User
Longtime User
B4A, b4j, b4i?
Vuoi scansionare una cartella con tutti i file e sottocartelle ottenendo una lista di tutto il contenuto con nom3 completo di percorso ?
 

ivanomonti

Expert
Licensed User
Longtime User
B4A, b4j, b4i?
Vuoi scansionare una cartella con tutti i file e sottocartelle ottenendo una lista di tutto il contenuto con nom3 completo di percorso ?
Yes

per la prossima versione di questo tools iniziato ieri sera finito oggi e archiviato circa qualche migliaio di documenti, non è il massimo come interfaccia visto che devono usarlo dei consulenti che di pc non capiscono una mazza (come me) ma ho notato che si potrebbe rendere più veloce un processo quando ci sono sottocartelle ad esempio un cantiere di un palazzo con 200 unità ogni unità ha circa 30 documenti a se moltiplicato per cartelle e sottocartelle diventa uno sclero.

Inoltre vorrei creare anche una verifica dei mb per cartella e crearne una nuova con numerazione (cantiere 1-1, cantiere1-2) perché ci sono delle limitazioni da parte del sistema della piattaforma. vabbè diventa lunga la storia.

Chi sa come mettere il titolo alla form che qui e cambiata un phò di roba e non ricordo una mazza ...

1676681183521.png
 

Star-Dust

Expert
Licensed User
Longtime User
Non mi è tutto chiaro, ma per ottenere la lista dei file nella cartella e tutte le sottocartelle contenute, il codice è questo:
B4X:
Sub Button1_Click
    Dim Listfile As List
    Listfile.Initialize
    ' funzione ricorsiva per la ricerca dei file
    ScanPath("C:\Android",Listfile)

    ' Visualizza lista file
    For Each fn As String In Listfile
        Log(fn)  
        ' File size in byte: log(File.Size("",fn))
        ' only path: log(File.GetFileParent(fn))
        ' pnly filename: log(File.GetName(fn))
    Next
    Log($"TOTALE: ${Listfile.Size} files"$)
End Sub

Private Sub ScanPath(Path As String, Lf As List)
    For Each fln As String In File.ListFiles(Path)
        If File.IsDirectory(Path,fln) Then
            ScanPath(File.Combine(Path,fln),Lf)
        Else
            Lf.Add(File.Combine(Path,fln))
        End If
    Next
End Sub
 
Last edited:

ivanomonti

Expert
Licensed User
Longtime User
Non mi è tutto chiaro, ma per ottenere la lista dei file nella cartella e tutte le sottocartelle contenute, il codice è questo:
B4X:
Sub Button1_Click
    Dim Listfile As List
    Listfile.Initialize
    ' funzione ricorsiva per la ricerca dei file
    ScanPath("C:\Android",Listfile)

    ' Visualizza lista file
    For Each fn As String In Listfile
        Log(fn) 
        ' File size in byte: log(File.Size("",fn))
        ' only path: log(File.GetFileParent(fn))
        ' pnly filename: log(File.GetName(fn))
    Next
    Log($"TOTALE: ${Listfile.Size} files"$)
End Sub

Private Sub ScanPath(Path As String, Lf As List)
    For Each fln As String In File.ListFiles(Path)
        If File.IsDirectory(Path,fln) Then
            ScanPath(File.Combine(Path,fln),Lf)
        Else
            Lf.Add(File.Combine(Path,fln))
        End If
    Next
End Sub
grazie poi lo provo e ti dico
 
Top