C#-从treeview节点获取文件/文件夹路径

C#-从treeview节点获取文件/文件夹路径,c#,winforms,C#,Winforms,我的winform中有2个TreeView。其中包含我的计算机驱动器列表 请帮助我将所选文件/文件夹从一个树状视图复制和移动到另一个树状视图。我尝试使用两个字符串作为sourseDir和targetdir来存储文件的SOURSER和目标路径。我尝试使用下面的代码从TreeView节点访问源和目标路径 string sourcedir = filelistleft.SelectedNode.FullPath.ToString(); string targetdir = filelistright.

我的winform中有2个TreeView。其中包含我的计算机驱动器列表

请帮助我将所选文件/文件夹从一个树状视图复制和移动到另一个树状视图。我尝试使用两个字符串作为sourseDir和targetdir来存储文件的SOURSER和目标路径。我尝试使用下面的代码从TreeView节点访问源和目标路径

string sourcedir = filelistleft.SelectedNode.FullPath.ToString();
string targetdir = filelistright.SelectedNode.FullPath.ToString();

foreach (var file in Directory.GetFiles(sourcedir))
     File.Copy(file, Path.Combine(targetdir, Path.GetFileName(file)), true);
但是它抛出一个IOException目录名无效。
我能做什么?提前感谢…

我认为因为FullPath属性返回节点到树视图根的相对路径,所以最好将树视图根路径的物理路径存储在变量中,然后将所选节点的完整路径添加到该变量中

string rootNodePhysicalPath = "C\\temp"; //assume c:\temp is tree view's root path
string selectedNodeFullPath  = sourcedir;
string selectedNodePhysicalPath = rootNodePhysicalPath + sourcedir;

您是否尝试过调试它并查看传递给
文件的实际文件名。复制
?您可以首先检查得到的无效目录名。异常中显示了它。是否需要在文件路径字符串之前添加@符号?引发异常时,
sourcedir
targetdir
的值是多少?您确定它们是有效路径吗?