我在从本地磁盘复制到闪存时遇到问题。该代码之前有效,但在我创建了另一个 foreach 循环并且我必须创建新对象之后,File.Copy 功能不再有效。在价值文件 | System.IO.File 有类似的值: Error_Access_Denied | 5、Error_Invalid参数| 87、GetFileExInfoStandard | 0。
编辑:locationUSB 显示闪存上的文件路径。(locationUSB == "D:\something.hex") 和 x._location == "C:\something_1.hex" 。
foreach (object item in this.dataGridView2.Rows)
{
versionOnDisk = this.VersionInt(x._version);
versionOnFlash = this.VersionInt(((DataGridViewRow)item).Cells[2].Value.ToString());
if (versionOnFlash > versionOnDisk)
forbidCopying = true;
else
locationUSB = _logicalDrive + ((DataGridViewRow)item).Cells["Filename"].Value.ToString(); // <-- location value (because of the foreach)
if (!forbidCopying)
File.Copy(x._location, locationUSB, true); // <--
else if (AllowDelete.Checked)
File.Delete(locationUSB);
}
编辑:如果我将位置更改为逻辑驱动器路径,其值为“D:\”,我会得到未处理的 DirectoryNotFoundException:找不到路径“D:\”的一部分。