Oppure

Loading
31/08/21 15:22
fosforo
Ciao

Sembra banale ma non riesco a trovare dei file in una Directory.
Nella directory ci sono file con questa nomenclatura:

Pippo.xml_ERROR
Pluto.xml_ERROR
etc
etc

Ce ne sono 1064 in tutto.

Uso:
foreach (string dirFile in Directory.GetFiles(PathXML, "*.xml_ERROR", SearchOption.TopDirectoryOnly).Select(Path.GetFileName).ToArray());

ma trovo solo 14 file.

Ho fatto vari tentativi ma non ne vengo a capo.

Grazie anticipatamente.
aaa
31/08/21 18:42
Carlo
così?:

string[] cartella; // array che conterrà i nomi dei files con percorso completo
cartella = System.IO.Directory.GetFiles(PathXML, "*.xml_ERROR");

// Non so poi come devi visualizzare i file, per esempio in tre listbox

// tutti i file completi di percorso ed estensione
listBox1.Items.AddRange(cartella); 

for (int i = 0; i < cartella.Length; i++)
{ 
      // tutti i nomi dei file con estensione
      listBox2.Items.Add(System.IO.Path.GetFileName(cartella[i]));
      // tutti i nomi dei file senza estensione
      listBox3.Items.Add(System.IO.Path.GetFileNameWithoutExtension(cartella[i]));
}


oppure più simile a come volevi fare tu:
foreach (string dirFile in System.IO.Directory.GetFiles(PathXML, "*.xml_ERROR"))
{
      // tutti i nomi dei file con estensione
      listBox1.Items.Add(System.IO.Path.GetFileName(dirFile));
}
Ultima modifica effettuata da Carlo 31/08/21 20:27
in programmazione tutto è permesso
01/09/21 7:41
fosforo
Ciao Carlo
Grazie per l'aiuto.

Purtroppo mi da sempre solo 12 file trovati su 1064.

Prorpio non capisco.
Se invece di .*.xml_ERROR uso .XML oppure .XML_OK il risultato è corretto.
aaa
01/09/21 9:24
nessuno
Sicuro che i file abbiano tutti quella estensione? Forse pensi sia così ma c'è qualche carattere che non vedi in più.
Sicuro che c'è un solo _ oppure in alcuni ce ne sono due __

?

Apri una finestra DOS e usa il DIR per controllo
Ultima modifica effettuata da nessuno 01/09/21 9:26
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
01/09/21 9:27
Carlo
Oltre al controllo che ti ha consigliato nessuno, controlla lettera per lettera, con meticolosa attenzione il contenuto di: PathXML
Mi viene da pensare che cerchi i files in un'altra caretella con nome uguale ma percorso leggermente diverso.
Ultima modifica effettuata da Carlo 01/09/21 9:29
in programmazione tutto è permesso
01/09/21 12:23
fosforo
Ciao

Ho fatto tutti i controlli, controllo nomi ok, con DIR li vede.

Ma ho fatto un tentativo con un file.
Spostato in un'altra cartella e copiato nella cartella originale.
Lo vede.
Fatto con tutti i file.
Adesso li vede tutti anche con il mio codice.

Non so.:-?
aaa
01/09/21 13:46
Carlo
Mi vengono delle idee ma sono talmente strampalate che te le risparmio :rotfl:

Visto che hai detto che funziona, ho riguardato il tuo codice:

foreach (string dirFile in Directory.GetFiles(PathXML, "*.xml_ERROR", SearchOption.TopDirectoryOnly).Select(Path.GetFileName).ToArray());

come recuperi l'elenco dei files trovati?
in programmazione tutto è permesso
01/09/21 18:39
fosforo
Metto tutto in una List e poi, visualizzo tutto con un datagridview.
aaa