Copyfile

domenica 02 maggio 2010 - 11.27

kemper Profilo | Newbie

ciao a tutti ! domanda :
ho trovato questo codice di esempio per creare un programma per copiare file da una dir x a una y

for each foundfile as string in my.computer.filesystem.getfile( _ my.computer.filesystem.specialdirectories.mydocuments, _ fileIO.searchoption.searchtoplevelonly, "*.mp3")

my.computer.filesystem.copyfile(foundfile, "c:/musica" & foundfile )


ma dovìè che si specifica dove cercare i file?

kataklisma Profilo | Senior Member

>ciao a tutti ! domanda :
Ciao!

>ho trovato questo codice di esempio per creare un programma per
>copiare file da una dir x a una y
>
>for each foundfile as string in my.computer.filesystem.getfile(
>_ my.computer.filesystem.specialdirectories.mydocuments, _ fileIO.searchoption.searchtoplevelonly,
>"*.mp3")
>
>my.computer.filesystem.copyfile(foundfile, "c:/musica" & foundfile
>)
>
>
>ma dovìè che si specifica dove cercare i file?

Per copiare un file si utilizza semplicemente la classe File prensente nel namespace IO :

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Ciao ;)
------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/

kemper Profilo | Newbie

non ho capito nulla..ma scusa il codice che ho scritto cosa fa?mi fai un esempio di quello che intendi tu?

kataklisma Profilo | Senior Member

>non ho capito nulla..ma scusa il codice che ho scritto cosa fa?

Allora, penso che la cosa sia alquanto banale, semplicemente usando la funzione .copy() presente nella classe File del namespace IO, copi un file da una cartella ad un'altra!


>fai un esempio di quello che intendi tu?
Io l'esempio te l'ho fatto ed è esattamente quello, System.IO.File.Copy("C:/prova.txt","C:/directoryProva/prova.txt");
Non fa altro che copiare prova.txt da C:/ a C:/directoryProva.

il tuo codice invece, se non erro, copia tutti i file .mp3 presenti nella cartella documenti in una cartella di destinazione a scelta, in quel caso C:/musica

------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/

kemper Profilo | Newbie

ok ma il tuo codice copia file che tu inserisci nel codice...con il mio codice cerca tutti i file con quella estensione e li copia nella cartella musica..infatti la mia domada era:nel codice che ho scritto dove imposto in quale cartela cercare?

kataklisma Profilo | Senior Member

>ok ma il tuo codice copia file che tu inserisci nel codice...
Ma no, io ho inserito i percorsi direttamente nel codice per questione di tempo e spazio ma possono essere benissimo inseriti dinamicamente copiando N file con un foreach che cicla una lista di percorsi.

>il mio codice cerca tutti i file con quella estensione e li copia
>nella cartella musica..infatti la mia domada era:nel codice che
>ho scritto dove imposto in quale cartela cercare?

Ho risposto anche a questo, "li prende dalla cartella documenti e li copia in C:/musica" , nel tuo codice il percorso della cartella documenti viene generato da questa operazione : "my.computer.filesystem.specialdirectories.mydocuments", al suo posto puoi inserire qualsivoglia percorso.

Infatti il foreach cicla nella collection my.computer.filesystem.getfile e copia tramite CopyFile tutti gli oggetti presenti in tale collection.


------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/

kemper Profilo | Newbie

quindi la cartella in cui cerca è.....?in pratica nn ci sono / ma punto giusto?ma se nel codice che hai scritto tu svrivo c:/*.mp3 me lintriva tutti mp3 in c:?

kataklisma Profilo | Senior Member

>quindi la cartella in cui cerca è.....?

Non so piu come dirtelo...DOCUMENTI! la path della cartella documenti viene generata dinamicamente da my.computer.filesystem.specialdirectories.mydocuments, cio significa che il software in questione automaticamente crea la path della cartella documenti.

Al posto di my.computer.filesystem.specialdirectories.mydocuments puoi benissimo scrivere "C:\", cio significa che prenderai i file dal percorso C: e non da documenti.

>in pratica nn ci sono
>/ ma punto giusto?

Semplicemente perchè stai gestendo degli oggetti e relativi metodi e non delle stringhe, infatti a runtime my.computer.filesystem.specialdirectories.mydocuments sarà uguale al path della cartella documenti del pc in cui viene eseguito il software.

Piu banale di cosi non so fartela :)

>ma se nel codice che hai scritto tu svrivo
>c:/*.mp3 me lintriva tutti mp3 in c:?

No, assolutamente no.Va benissimo il codice che hai postato, modificando solo le path di origine e destinazione file.

------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/

kemper Profilo | Newbie

grazie!

kataklisma Profilo | Senior Member

>grazie!

Finalmente!

Ciao ;)
------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5