PDA

Visualizza la versione completa : [c/batch] ricorsione


misterx
29-10-2013, 19:49
ciao,
eseguendo banalmente il comando dir /s /b > mieifile.txt si ottiene un file che contiene nomi e path per un percorso prestabilito.

Eseguendo il comando tree, windows mostra le directory strutturandole a modi albero.

Quello che da un pò di tempo sto cercando di scrivere è un qualcosa che analizzato il file mieifile.txt ne crea il corrispettivo strutturato in html, una sorta di dir to html

Il problema è che non è semplice estrarre dal file le varie dir e subdir in modo da poter ricreare quanto cerco di fare; mi chiedevo quindi se esiste già una tecnica consolidata per creare programmi di questo tipo.

Scara95
29-10-2013, 20:48
Perché è necessario usare dir? E' più semplice partire direttamente con un linguaggio di programmazione e una libreria che gestisca decentemente le directory...

Edit: Ad esempio potrebbe esserti utile la funzione os.walk in python (Dico python solo perchè ha librerie praticamente per tutto)

misterx
29-10-2013, 21:23
Perché è necessario usare dir? E' più semplice partire direttamente con un linguaggio di programmazione e una libreria che gestisca decentemente le directory...

Edit: Ad esempio potrebbe esserti utile la funzione os.walk in python (Dico python solo perchè ha librerie praticamente per tutto)


questo è vero, difatti oggi ho scritto qualcosa in C che ricorsivamente visita tutte le sottodirectory ma in batch, ha il suo fascino :D anche se devo ammettere che è veramente caotico da implementare.

Scara95
29-10-2013, 21:28
Una volta che hai un albero che rappresenta la struttura di directories e files è semplicissimo generare quello che vuoi...
Secondo me è una complicazione inutile volerlo fare in C, non conosci un linguaggio tipo python, ruby, lua... ? O un linguaggio della piattaforma .NET?

misterx
29-10-2013, 21:32
Una volta che hai un albero che rappresenta la struttura di directories e files è semplicissimo generare quello che vuoi...
Secondo me è una complicazione inutile volerlo fare in C, non conosci un linguaggio tipo python, ruby, lua... ? O un linguaggio della piattaforma .NET?


Intendi dire che hai a disposizione funzioni che ti creano un albero binario che poi tu visiti a tuo piacimento?

Scara95
29-10-2013, 21:35
No, intendo dire che sono più semplici da usare perché devi preoccuparti di meno cose (es. gestione della memoria, gestione delle stringhe (che in C non è poi così semplice)). Oltre al fatto che è probabile che vi siano funzioni già pronte per alcune cose.

misterx
29-10-2013, 21:39
No, intendo dire che sono più semplici da usare perché devi preoccuparti di meno cose (es. gestione della memoria, gestione delle stringhe (che in C non è poi così semplice)). Oltre al fatto che è probabile che vi siano funzioni già pronte per alcune cose.

diciamo che il linguaggio che conosco meglio è il C. Forse trovo qualcosa per Borland Builder?

misterx
30-10-2013, 18:16
comunque ci sto riuscendo, caoticamente, con un batch file senza scomodare alcun linguaggio.
Si tratta di intravedere una struttura ad albero come se fosse una sorta di matrice nxm

Loading