Je rencontre un problème avec mon code C# Je n'arrive pas à obtenir mon instruction if pour fonctionner Je pense qu'il essaie de faire référence à la mauvaise partie de code pour une raison quelconque. J'ai vérifié que j'ai toutes les références à droite et tout droit utilise dans j'ai collé le code incriminé ci-dessous.j'obtiens une erreur "System.Array ne contient pas de définition pour LastWriteTime"
FolderBrowserDialog dlg2 = new FolderBrowserDialog();
if (dlg2.ShowDialog() == DialogResult.OK)
//do whatever with dlg.SelectedPath
{
string searchPattern = "*";
DirectoryInfo source = new DirectoryInfo(dlg.SelectedPath);
DirectoryInfo target = new DirectoryInfo(dlg2.SelectedPath);
DirectoryInfo dir = new DirectoryInfo(dlg.SelectedPath);
FileInfo[] fi = dir.GetFiles("*", SearchOption.AllDirectories);
{
if (fi.LastWriteTime.Date == DateTime.Today.Date)
{
FileInfo[] sourceFiles = source.GetFiles(searchPattern, SearchOption.AllDirectories);
for (int i = 0; i < sourceFiles.Length; ++i)
File.Copy(sourceFiles[i].FullName, target.FullName + "\\" + sourceFiles[i].Name, true);
}
}
toute aide qui pourrait être donnée serait grandement appréciée grâce.
Je pensais que quelque chose comme ça aussi, mais remarque que ' fi' n'est pas utilisé dans la boucle ... –
C'est un bon début, même si le code actuel n'a pas beaucoup de sens (si un fichier dans le dossier sélectionné a un 'LastWriteTime' égal à aujourd'hui, il copi tous les fichiers du dossier source vers le dossier de destination). C'est évidemment ce que le PO a écrit, cependant. –
@Adam: oui, je suis conscient de cela mais je n'y ai pas beaucoup pensé ... :-) –