C# 未经授权的访问异常-将文件复制到C中的其他目录时,对路径的访问被拒绝#

C# 未经授权的访问异常-将文件复制到C中的其他目录时,对路径的访问被拒绝#,c#,file,directory,C#,File,Directory,将文件从1个文件夹复制到c#中的另一个文件夹时出错。 代码如下: string xFilename = Path.GetDirectoryName(fdlg.FileName.ToString()); string yPath = Path.GetFileName(fdlg.FileName.ToString()); upload_label.Text = xFilename + "\\" + yPath; string zFilePath = xFilename + "

将文件从1个文件夹复制到c#中的另一个文件夹时出错。 代码如下:

string xFilename = Path.GetDirectoryName(fdlg.FileName.ToString());    
string yPath = Path.GetFileName(fdlg.FileName.ToString());    
upload_label.Text = xFilename + "\\" + yPath;    
string zFilePath = xFilename + "\\" + yPath;
Directory.CreateDirectory("test");

try 
{
    File.Copy(zFilePath, "\\test", true);
} 
catch(Exception eeee) 
{
    MessageBox.Show(eeee + "");
    throw;
}
如何修复此问题?

MSDN()表示
File.Copy

调用方没有所需的权限

-或-

文件名是只读的


请检查上述条件,然后重试。

如果您有分包合同,这与分包合同有关,就像我的情况一样

这就是我所做的,也许你可以尝试以下步骤:

1.)首先通过删除该路径上的文件和文件夹来删除内容

2.)然后在文件夹为空后删除文件夹本身

var di = new DirectoryInfo("YourPath");

//delete files
foreach (FileInfo file in di.GetFiles())
{
    file.Delete(); 
}

//delete folders
foreach (DirectoryInfo dir in di.GetDirectories())
{
    dir.Delete(true); 
}

//then delete the path itself after it is empty
Directory.Delete(path);

访问文件夹?请帮你自己一个忙…将变量重命名为有意义的…好的。我会重新命名它。sorryso,除了File.Copy之外还有其他方法吗?@user3541736如果你没有权限…你没有权限。圆点。不管你做什么都要复制。顺便说一句,你没有说它在哪里失败(它甚至可能是CreateDirectory)。第二:你用相对路径创建目录,但用绝对路径访问。在寻找替代方法之前,你应该了解出了什么问题,因为框架通过抛出一个异常来帮助你,它只显示了这样做的两个原因。您是否有权限在要写入的目录中写入?是否已检查已存在的同名文件是否为只读文件?您是否尝试过删除该文件,然后重试?验证路径。我的文件。复制失败,因为目标位置已存在该文件。