无法将文件从一个目录复制到另一个目录

时间:2014-09-27 13:03:15

标签: c# path

我已经编写了一个复制功能,可以将文件从一个目录复制到另一个目录,但仍然会遇到“不支持给定路径格式”的异常。这是我的功能代码:

private void Copy(string letter)
{
    string sourceDir = (txtPath.ToString());
    string targetDir = letter;
    foreach (var file in Directory.GetFiles(sourceDir))
        File.Copy(file, Path.Combine(targetDir, Path.GetFileName(file)), true);
}

1 个答案:

答案 0 :(得分:2)

要引用TextBox的内容,请使用TextBox.Text属性

private void Copy(string letter)
{
    string sourceDir = txtPath.Text.Trim();
    string targetDir = letter;

    // Check if source and target exists....
    if(Directory.Exists(sourceDir) && Directory.Exists(targetDir))
    {
        foreach (var file in Directory.GetFiles(sourceDir))
            File.Copy(file, Path.Combine(targetDir, Path.GetFileName(file)), true);
    }
    else
    {
       MessageBox.Show("Source=" + sourceDir + " or Target: " + targetDir + " doesn't exist"): 
    }
}

直接在TextBox实例上调用ToString()方法返回类的名称,后跟text属性(类似" System.Windows.Forms.TextBox,Text:content文本框" ),显然这不是一个有效的路径

从您的评论中不清楚变量字母的内容是什么。因此,您还应该确保变量targetDir指向实际的有效路径。 (单个驱动器号 C D或E 不是有效路径)

相关问题