string[] oldFilesArray = Directory.GetFiles(oldFolderDialog.SelectedPath, "*", SearchOption.AllDirectories);
string[] newFilesArray = Directory.GetFiles(newFolderDialog.SelectedPath, "*", SearchOption.AllDirectories);
foreach (string oldFile in oldFilesArray)
{
string oldFileNames = Path.GetFileName(oldFile);
foreach(string newFile in newFilesArray)
{
string newFileNames = Path.GetFileName(newFile);
if (newFileNames == oldFileNames)
{
string extension = ".patch";
Environment.CurrentDirectory = Application.StartupPath; //The Application was crashing on Windows XP without this line.
ProcessStartInfo bsdiff = new ProcessStartInfo();
bsdiff.FileName = "bsdiff.exe";
string bspatchArguments = "\"" + Path.GetFullPath(oldFile) + "\"" + " "
+ "\"" + Path.GetFullPath(newFile) + "\"" + " "
+ "\"" + updateFolderPathLabel.Text + "\\" + Path.GetFileName(newFileNames) + extension + "\"";
Process.Start("bsdiff", bspatchArguments);
}
}
}
您好
我希望以上内容正确发布,我正在使用c#创建我的第一个项目,但是我遇到了一些问题,基本上我想要实现的是获取文件存在的子文件夹然后在新文件夹中创建与文件相同的子目录。
e.g:
文件夹1:c:\ test \ test \ test.txt(该路径由用户选择文件夹生成)
文件夹2:c:\ test1 \ test \ test.txt(与上面相同)
文件夹3:c:\ test2(与上面相同)
现在我想要发生的是文件夹3中一个名为test的子目录,以及要在那里创建的文件test.txt。
我尝试使用Get.Directories但我得到一个完整路径(c:\ test2 \ c:\ test1 \ text \ test.txt)是否可以只创建\ test \ test.txt。
其中有很多文件和子目录及子目录。
Bsdiff,比较两个文件,然后在它们之间创建一个补丁文件,所以我可以让它为两个文件夹中存在的项目创建补丁文件,但我也想尝试将它们放到同一名称文件夹中他们以前就是。
如果代码很草率:(对不起,对于整件事我还是比较新的。
由于