C# FileInfo找到文件,但file.Copy找不到该文件
我正试图找到一个具有上次写入日期的文件,并将其复制到其他位置。它正确地找到了文件,但当我试图复制它时,它找不到它刚刚找到的文件。这在SSIS脚本任务中C# FileInfo找到文件,但file.Copy找不到该文件,c#,.net,file,fileinfo,directoryinfo,C#,.net,File,Fileinfo,Directoryinfo,我正试图找到一个具有上次写入日期的文件,并将其复制到其他位置。它正确地找到了文件,但当我试图复制它时,它找不到它刚刚找到的文件。这在SSIS脚本任务中 DirectoryInfo directory = new DirectoryInfo(@"path"); FileInfo[] files = directory.GetFiles(); //files that have been written to in the last 3 days DateTime lastWrite = Date
DirectoryInfo directory = new DirectoryInfo(@"path");
FileInfo[] files = directory.GetFiles();
//files that have been written to in the last 3 days
DateTime lastWrite = DateTime.Now.AddDays(-3);
foreach (FileInfo latestFile in files)
{
// if its the correct name
if (latestFile.Name.StartsWith("OMC"))
{
// if its in the last 3 days
if (latestFile.LastWriteTime > lastWrite)
{
lastWrite = latestFile.LastWriteTime;
// this correctly find the file and puts it into the file variable.
file = latestFile.ToString();
// this errors out saying it cannot find the file.
// (Does not even go to the outputFile)
File.Copy(file, outputFile, true); // <- error
//backs the file up
File.Copy(file, backupfile, true);
}
}
}
DirectoryInfo directory=newdirectoryinfo(@“路径”);
FileInfo[]files=目录.GetFiles();
//在过去3天内写入的文件
DateTime lastWrite=DateTime.Now.AddDays(-3);
foreach(文件中的文件信息最新文件)
{
//如果是正确的名字
if(latestFile.Name.StartsWith(“OMC”))
{
//如果是在过去3天内
如果(latestFile.LastWriteTime>lastWrite)
{
lastWrite=latestFile.LastWriteTime;
//这将正确找到文件并将其放入file变量中。
file=latestFile.ToString();
//此错误表示找不到该文件。
//(甚至不转到outputFile)
File.Copy(File,outputFile,true);//最新的File.ToString()的计算结果是什么?这是一种获取路径的奇怪方法
如文档所示,使用FileInfo.FullName
您可以使用调试器自己查找此类错误。FileInfo.ToString()
返回文件名,但为了复制它,您需要完整路径。更改
file = latestFile.ToString();
到
然后试一试。您可能需要构建完整路径,而不是使用:
发件人:
在某些情况下,ToString方法返回的字符串不表示完全限定路径。例如,当您使用GetFiles方法创建FileInfo对象时,ToString方法不表示完全限定路径
当你设置断点时,文件
是否有文件的完整路径?他不是这样问的。只需使用全名输入字符串,不要否决所有投票!@PoweredByOrange请不要使用外部网站发布图像,尤其是那些可能有不适合工作的横幅的网站,而是将图像添加到答案中,然后合作请复制答案的链接并将其放入您的评论中。您可以在完成后放弃答案。@ScottChamberlain没有意识到其中包含不适当的内容。删除了评论,因为原始海报也删除了他/她的所有评论。只不过是一条评论。不确定您为什么会这样想。我会指出问题并给出解决方案。什么你说什么?
file = latestFile.FullName;
file = latestFile.FullName;