sintassi:
Directory.metodo
metodi:
opzione ricerca: (da inserire System.IO. per evitare conflitti)
esempio: lista file con scritta file nel nome
string[] files;
files = Directory.GetFiles(@"C:\prova\", "*file*.*");
esempio: lista directory con scritta Foto iniziale nel nome
string[] directory;
directory = Directory.GetDirectories(@"C:\archivio\", "Foto*.*");
esempio: per ciascuna directory che contiene determinati file
utile per creare liste di directory che hanno solamente determinati file dentro
arrayDirectory = Directory.GetDirectories(@"path root", "*", SearchOption.AllDirectories);
foreach (string directory in arrayDirectory)
{
if (Directory.GetFiles(directory,"*.estensione").Length != 0)}
{....}
esempio: creo la directory prova e sottodirectory nuova
Directory.CreateDirectory(@"C:\prova\nuova\")
esempio: elimino la directory
Directory.Delete(@"C:\prova\elimina\", true)
potrebbe non funzionare perché dentro la directory c'é qualche files bloccato o di sistema.
prova a cancellare tutti i files interni settandoli prima come normali:
string[] files = Directory.GetFiles(path/nome_directory, "*", System.IO.SearchOption.AllDirectories);
foreach (string file in files)
{File.SetAttributes(file, FileAttributes.Normal);}
File.Delete(file);
se continua a funzionare allora usa il comando DOS rmdir
capita in caso per esempio di file di sistema desktop.ini
attento però se danno errore non vengono rilevati da try/catch
inserisci sempre un comando di verifica che la directory é stata cancellata
Process.Start("cmd", "/C rmdir " + path_directory + " /s /q");
esempio: elimino la directory
Directory.Move(@"C:\origine\", @"C:\destinazione\")
se il file é in una subdirectory}
if (file.Replace(directoryorigine, "") != Path.GetFileName(file))
{se la subdirectroy non esiste}
if (!Directory.Exists(rootdestinazione + @"\" + directory + @"\" + file.Replace(directoryorigine, "").Replace(Path.GetFileName(file), "")))
{crea la subdirectroy}
Directory.CreateDirectory(rootdestinazione + @"\" + directory + @"\" + file.Replace(directoryorigine, "").Replace(Path.GetFileName(file), ""));
copia il file
File.Copy(file, rootdestinazione + @"\" + directory + @"\" + file.Replace(directoryorigine, ""));
esempio: se non esiste la direcoty
if(!Directory.Exists()){...}