Prima di tutto; migliori prassi sarebbe quella di ottenere la cartella utenti desktop con
string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
Quindi è possibile trovare tutti i file con qualcosa come
string[] files = Directory.GetFiles(path, "*.txt", SearchOption.AllDirectories);
Nota che con la linea di cui sopra, troverete tutti i file con .txt estensione nella cartella Desktop dell'utente connesso e di tutte le sottocartelle.
Poi si potrebbe copiare o spostare i file enumerando la raccolta di cui sopra come
// For copying...
foreach (string s in files)
{
File.Copy(s, "C:\newFolder\newFilename.txt");
}
// ... Or for moving
foreach (string s in files)
{
File.Move(s, "C:\newFolder\newFilename.txt");
}
Si prega di notare che si dovrà includere il nome del file nella vostra operazione Copy()
(o Move()
). Quindi dovresti trovare un modo per determinare il nome del file almeno dell'estensione che hai a che fare e non nominare tutti i file allo stesso modo di come accadrebbe nell'esempio sopra.
Con questo in mente si potrebbe anche controllare le classi DirectoryInfo
e FileInfo
. Questi lavori in modi similair, ma è possibile ottenere informazioni sui vostri Path-/nomi di file, estensioni, ecc più facilmente
prova anche questi per ulteriori informazioni:
http://msdn.microsoft.com/en-us/library/system.io.directory.aspx
http://msdn.microsoft.com/en-us/library/ms143316.aspx
http://msdn.microsoft.com/en-us/library/system.io.file.aspx
fonte
2012-08-08 09:14:18
Verifica descrizione aggiornata. –
Che cosa hai provato? Ti suggerisco di iniziare da [DirectoryInfo] (http://msdn.microsoft.com/en-us/library/system.io.directoryinfo) e [FileInfo] (http://msdn.microsoft.com/en-us /library/system.io.fileinfo). –