0

このコードを使用すると、エラーはスローされませんが、まだ何もコピーされません。何か案は?。

 //string spath = string.Format("S:\\ 0A36303 / user:admin");
                DateTime theDate = dateTimePicker1.Value.Date;
                DirectoryInfo Dir = new DirectoryInfo("S:");
                string dircreate = string.Format(@"N:\{0:MM-dd-yyyy}\" + label1.Text + "LogFiles", dateTimePicker1.Value.Date, label1.Text);
                DirectoryInfo target = new DirectoryInfo(dircreate);


                FileInfo[] fis = Dir.GetFiles( ".txt", SearchOption.AllDirectories);
                foreach (FileInfo fi in fis)
                {
                    if (fi.LastWriteTime.Date == theDate)
                    {
                        File.Copy(fi.FullName, target.FullName + @"\" + fi.Name, true);
                    }

                }
            }
        }
    }
4

2 に答える 2

0

2つの考えられる問題が思い浮かびます。

  1. S:\PC.logファイルが存在しません=>存在しないファイルをコピーすることはできません
  2. コードを実行しているプロセスには、指定されたフォルダーへの読み取り権限がありません(S:)。ネットワーク共有のように見えます。ASP.NETアプリケーション内でこのコードを実行している場合、プロセスにはおそらくこのリモート共有への読み取りアクセス許可がありません=>アクセスするアクセス許可がないファイルをコピーすることはできません。
于 2012-11-28T16:32:22.790 に答える
0

完全な UNC パスを使用してファイルにアクセスしてみてください。

DirectoryInfo Dir = new DirectoryInfo(@"\\server\\share\\pathtofile");
于 2012-11-28T16:29:51.023 に答える