【发布时间】:2015-10-13 14:50:09
【问题描述】:
我正在尝试以编程方式将文件从桌面复制到 USB 驱动器。但是,在尝试运行此代码时,我收到一条错误消息,指出找不到路径的一部分:
if (dr == DialogResult.Yes)
{
string selected = comboBox1.GetItemText(comboBox1.SelectedItem);
string filePath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
string filefolder = @"\UpgradeFiles";
string fileLocation = filePath + filefolder;
if (!Directory.Exists(fileLocation))
{
Directory.CreateDirectory(fileLocation);
}
else if (Directory.Exists(fileLocation))
{
DirectoryInfo di = new DirectoryInfo(fileLocation);
FileInfo[] fileList = di.GetFiles();
foreach (FileInfo file in fileList)
{
string DrivePath = Environment.GetFolderPath(
Environment.SpecialFolder.MyComputer);
string CopyToDrive = comboBox1.Text;
file.CopyTo(DrivePath + CopyToDrive, false);
}
}
}
组合框包含选定的驱动器号。尝试添加“computer\driveletter”时我是否遇到了这个错误?
【问题讨论】:
-
没有人有时间做那个
-
@CallumBradbury 非常好。
-
我是这么想的:首先,合并时不要使用Path + Path...路径,使用Path.Combine,这样可以减少出错的机会,很可能是这里的问题跨度>
-
其次:您可能不需要 MyComputer 路径,您可以从驱动器号开始,然后从那里开始
-
@CallumBradbury 我试过只使用“CopyToDrive”路径,但它会抛出相同的错误消息。
标签: c# .net fileinfo file-copying