C#在对话框内移动文件';s路径
我正在努力完成这个基本操作。如果有人能编写一个工作代码就好了。假设我在桌面上找到了文件夹“AB”。文件夹AB包含子文件夹a和子文件夹B。子文件夹a包含a.txt,子文件夹B包含B.txt。我希望用户只需通过浏览器对话框选择文件夹AB(我已经这样做了),然后,当他点击复选框时,文件a.txt将进入子文件夹B,文件B.txt将进入子文件夹a。我将对简单文件夹a和B执行此操作。你还必须考虑子文件夹的可能性。C#在对话框内移动文件';s路径,c#,browser,path,C#,Browser,Path,我正在努力完成这个基本操作。如果有人能编写一个工作代码就好了。假设我在桌面上找到了文件夹“AB”。文件夹AB包含子文件夹a和子文件夹B。子文件夹a包含a.txt,子文件夹B包含B.txt。我希望用户只需通过浏览器对话框选择文件夹AB(我已经这样做了),然后,当他点击复选框时,文件a.txt将进入子文件夹B,文件B.txt将进入子文件夹a。我将对简单文件夹a和B执行此操作。你还必须考虑子文件夹的可能性。 string[] filesA = System.IO.Directory.GetFiles(
string[] filesA = System.IO.Directory.GetFiles(AsourcePath);
string[] filesB = System.IO.Directory.GetFiles(BsourcePath);
foreach (string s in filesA)
{
System.IO.File.Move(s, AsourcePath);
}
foreach (string s in filesB)
{
System.IO.File.Move(s, BsourcePath);
}
<强>请注意:< /强>您将考虑这么多的场景,包括子文件夹、覆写、现有文件或文件夹等。
< P>我将针对简单文件夹<强> > <强> >强> B < /强>进行此操作。你还必须考虑子文件夹的可能性。string[] filesA = System.IO.Directory.GetFiles(AsourcePath);
string[] filesB = System.IO.Directory.GetFiles(BsourcePath);
foreach (string s in filesA)
{
System.IO.File.Move(s, AsourcePath);
}
foreach (string s in filesB)
{
System.IO.File.Move(s, BsourcePath);
}
<强>请注意:< /强>您将考虑这么多的场景,包括子文件夹、覆盖文件、现有文件或文件夹等。
假设您有A和B文件夹的文件夹路径, var Afolder = @"D:\AB\A";
var Bfolder = @"D:\AB\B";
SwapFolderFiles(Afolder, Bfolder);
将A和B的文件夹路径传递给SwapFolderFile
private static void SwapFolderFiles(string AFolder, string BFolder)
{
var AFolderfiles = System.IO.Directory.GetFiles(AFolder);
var BFolderfiles = System.IO.Directory.GetFiles(BFolder);
MoveFiles(AFolder, BFolder, AFolderfiles);
MoveFiles(BFolder, AFolder, BFolderfiles);
}
private static void MoveFiles(string sourceFolder, string destinationFolder, string[] folderfiles)
{
foreach (var file in folderfiles)
{
var filename = file.Substring(file.LastIndexOf("\\")+1);
var source = System.IO.Path.Combine(sourceFolder, filename);
var destination = System.IO.Path.Combine(destinationFolder, filename);
System.IO.File.Move(source, destination);
}
}
假设您拥有A和B文件夹的文件夹路径
var Afolder = @"D:\AB\A";
var Bfolder = @"D:\AB\B";
SwapFolderFiles(Afolder, Bfolder);
将A和B的文件夹路径传递给SwapFolderFile
private static void SwapFolderFiles(string AFolder, string BFolder)
{
var AFolderfiles = System.IO.Directory.GetFiles(AFolder);
var BFolderfiles = System.IO.Directory.GetFiles(BFolder);
MoveFiles(AFolder, BFolder, AFolderfiles);
MoveFiles(BFolder, AFolder, BFolderfiles);
}
private static void MoveFiles(string sourceFolder, string destinationFolder, string[] folderfiles)
{
foreach (var file in folderfiles)
{
var filename = file.Substring(file.LastIndexOf("\\")+1);
var source = System.IO.Path.Combine(sourceFolder, filename);
var destination = System.IO.Path.Combine(destinationFolder, filename);
System.IO.File.Move(source, destination);
}
}
我想你可以参考以获得所有答案。你想复制文件还是移动文件???@Mohithrivastava他想让我们编写一个代码,以便他可以交换这些文件。i、 e.将A的内容复制到B和B的内容复制到A。您可以先获取A和B中所有文件的引用,然后执行移动操作。@Prajwal您完全正确。但是,由于OP在这里是新的,我们可以帮助他们写一个更好的问题,并向他提问,以便更好地理解。我更惊讶的是,它也获得了一次投票。我想你可以参考以获得所有答案。你想复制文件或移动文件吗???@Mohithrivastava他想让我们编写一个代码,以便他可以交换这些文件。i、 e.将A的内容复制到B和B的内容复制到A。您可以先获取A和B中所有文件的引用,然后执行移动操作。@Prajwal您完全正确。但是,由于OP在这里是新的,我们可以帮助他们写一个更好的问题,并向他提问,以便更好地理解。我更惊讶的是,它也获得了一个支持票。他的方案的一个解决办法是将文件夹a改名为B,B改名为a+1。感谢你所做的努力。@Mohithrivastava:D是的。我从来没有想到过。他的方案的一个解决办法就是将文件夹A重命名为B,将文件夹B重命名为A+1,以感谢您所做的努力。@Mohithrivastava:D是的。我从来没想过。