RICERCA CONTENUTO DIRECOTRY

venerdì 17 marzo 2006 - 21.41

snupy71 Profilo | Newbie

Quando mi rivolgo a voi .... sono sempre alla frutta!!

HELP HELP HELP!!

Mi serve di sapere il contenuto di una directory.
Scopiazzando gli esempi in internet ho fatto:

AV5Nomefil[1-1] = "" ;
AV5Nomefil[2-1] = "" ;
AV5Nomefil[3-1] = "" ;
AV5Nomefil[4-1] = "" ;
AV5Nomefil[5-1] = "" ;
AV5Nomefil[6-1] = "" ;
AV5Nomefil[7-1] = "" ;
AV5Nomefil[8-1] = "" ;
fso = CreateObject ( "Scripting.FileSystemObject" );
folder = fso.GetFolder("C://Inetpub//wwwroot//bin");
I = 1;
For Each File In folder.Files;
AV5Nomefil[I-1] = file.Name;
I = (short)(I+1);
Next;

In compilazione esce il seguente errore:

(243,19): error CS1002: È previsto un punto e virgola (;)
(243,27): error CS1002: È previsto un punto e virgola (;)

la riga 243 è precisamente :

For Each File In folder.Files;

cosa sbaglio????

Grazie 1000 per l'evenutale risposta!!


Roberta

trinity Profilo | Guru

Prima di tutto utilizzi vb net? seconda cosa te devi creare un codice che ti faccia sapere quali file si trovano in una determinata directory?

Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/

snupy71 Profilo | Newbie

Utilizzo asp.net e devo avere l'elenco dei file contenuti in una directory.


Roberta

Alla fine mi sono accorta che così non andava bene e ho dovuto cambiare metodo:

AV5Nomefil[1-1] = "" ;
AV5Nomefil[2-1] = "" ;
AV5Nomefil[3-1] = "" ;
AV5Nomefil[4-1] = "" ;
AV5Nomefil[5-1] = "" ;
AV5Nomefil[6-1] = "" ;
AV5Nomefil[7-1] = "" ;
AV5Nomefil[8-1] = "" ;
string[] elefile = System.IO.Directory.GetFiles("C:\\Inetpub\\wwwroot\\bin", "*.txt");
int I = 1;
foreach(string fileName in elefile);
AV5Nomefil[I-1] = Path.GetFileName(fileName);
I = (short)(I+1);

Però ora non capisco perchè mi dice , sempre nel ricompilare:

l nome 'fileName' non esiste nella classe o nello spazio dei nomi 'Programs.prova'
( sottolineo che prova è il nome del mio programma)

Ciao e grazie

Cteniza Profilo | Guru

Quello che hai scritto è leggermente sbagliato .
Per leggere i files di un'array hai scritto:
foreach(string fileName in elefile);

Hai messo un ; alla fine della foreach il che per C# equivale a dire: sono due statements indipendenti, quando hai finito di spazzolare i file prosegui con il comando successivo:
AV5Nomefil[I-1] = Path.GetFileName(fileName);

Che ovviamente produce l'errore perchè l'oggetto fileName è già stato distrutto (end of scope).


snupy71 Profilo | Newbie

Come avrai capito ne so molto poco di C# ... ti ringrazio molto per la spiegazione.

Io ho corretto le istruzioni così:

string[] elefile = System.IO.Directory.GetFiles("C://Inetpub//wwwroot//bin","*.txt");
int I = 1;
foreach(string fileName in elefile)
AV5Nomefil[I-1] = Path.GetFileName(fileName);
I = (short)(I+1);

Però ora l'errore è:

Impossibile trovare il tipo o il nome dello spazio dei nomi 'Path'. Probabilmente manca una direttiva using o un riferimento a un assembly.

Ora cosa sbaglio????

Grazie ancora
Ciao

Roberta

Cteniza Profilo | Guru

Devi renderti conto che non si può andare avanti per tentativi / suggerimenti / tentativi, ecc e che il forum non è il sostituto del tuo manuale.
Eventualmente prendi spunto da del codice che sai funzionare come i 101 esempi di microsoft.
L' allegato è un piccolo esempio fatto da me che fa una semplice ricerca per estensione (es txt) a partire da una cartella richiamando anche, tramite la ricorsività eventuali sottocartelle

totti240282 Profilo | Guru

hai importato lo spazio dei nome system.io ???
C'è solo un capitano !!!!!!

snupy71 Profilo | Newbie

Grazie ragazzi, ma finalmente ce l'ho fatta!!!
Spronata dalla bacchettata di Cteniza sono finalmente riuscita a fare quello che volevo.

A mia discolpa posso dire che io lavoro solo con un case e quindi non so quasi nulla di programmazione in C#; mi piacerebbe sapere di più ma il tempo è sempre poco.
Così quando devo fare qualcosa di particolare mi tocca trovare da sola con i miei miseri mezzi la soluzione.

Grazie comunque per l'interessamento!!

Ciao
Roberta
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5