尝试使用File.Move移动文件时出现FileNotFoundexception

我有超过2000 + MS Excel 2010 .XLSX电子表格的文件夹,我需要执行以下操作:

  • 我需要打开每个单独的文件

  • 复制单元格B4的内容(每个文件在单元格B4上都有唯一的内容)和

  • 将单元格B4的内容附加到原始文件名称

我怎样才能解决这个错误,所以我可以成功地重命名我的电子表格如上所述?

//file rename code DirectoryInfo d = new DirectoryInfo(@"C:\Torename\"); FileInfo[] infos = d.GetFiles(); foreach (FileInfo f in infos) { Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); Workbook wb = excel.Workbooks.Open(f.FullName); Worksheet excelSheet = wb.ActiveSheet; //Read the first cell string test = excelSheet.Cells[4, 2].Value.ToString(); File.Move(f.Name, new_filename); ***Thank you for your assistance that did the trick 

File.Move(f.FullName, new_filename);

你必须使用FullName ,你需要完整的path。

编辑:不是你的问题的一部分,但:

我不确定Workbooks.Open是如何Workbooks.Open ,但如果遇到错误,您可能会在重命名文件之前closures该文件。

亚当斯也评论。

在移动之前closures工作簿。 确保释放与该文件关联的所有资源。 并确保您使用名称中的整个path