Я создаю приложение формы Windows. Я использую folderbrowser, textbox1, button.I создаю папку и подпапку внутри Folder.From textbox1 выбирает определенную папку. Внутри my if условие, я выбираю определенную папку, выбранную в текстовом поле1, и копирую файлы из целевой папки. Я копирую файлы и сохраняю их во вновь созданной папке в качестве папки назначения (которая является подпапкой внутри папки). Он создает Folder, Sub-Folder, но не копирует файлы из целевой в папку назначения. Я не понимаю, что не так в моем коде.Файлы не копируются из источника в пункт назначения в C#
private void button2_Click(object sender, EventArgs e)
{
FolderBrowserDialog folderBrowserDlg = new FolderBrowserDialog();
folderBrowserDlg.ShowNewFolderButton = true;
DialogResult dlgResult = folderBrowserDlg.ShowDialog();
if (dlgResult.Equals(DialogResult.OK))
{
textBox1.Text = folderBrowserDlg.SelectedPath;
Environment.SpecialFolder rootFolder = folderBrowserDlg.RootFolder;
}
}
private void button3_Click(object sender, EventArgs e)
{
d();
}
public void d()
{
string s = textBox1.Text;
string [email protected]"c:\Users\T\Documents\Visual Studio 2015\Projects\PlatG\PlGames\DATA\AMT8-P47\data\AMT8-P47";
string [email protected]"c:\Users\T\Documents\Visual Studio 2015\Projects\PlatG\PlGames\DATA\GDIV8-P89\data\GDIV8-P89";
string subFolderZ [email protected]"C:\DATA";
if (!Directory.Exists(subFolderZ))
{
Directory.CreateDirectory(subFolderZ);
}
if(s==z)
{
string subFolderZ1 = Path.Combine(subFolderZ, "AMT8-P47");
if (!Directory.Exists(subFolderZ1))
{
Directory.CreateDirectory(subFolderZ1);
string[] dirs1d = Directory.GetDirectories(s, "*.*", SearchOption.AllDirectories);
foreach (var dir in dirs1d)
{
string destinationPath = @"C:\DATA\AMT8-P47";
string[] fileList = System.IO.Directory.GetFiles(dir, "*.*");
foreach (string file in fileList)
{
File.Copy(file, file.Replace(dir, destinationPath), true);
}
}
}
}
if(s==k)
{
string subFolderZ2 = Path.Combine(subFolderZ, "GDIV8-P89");
if (!Directory.Exists(subFolderZ2))
{
Directory.CreateDirectory(subFolderZ2);
// string p = textBox1.Text;
string[] dirs1dd = Directory.GetDirectories(s, "*.*",SearchOption.AllDirectories);
foreach (var dir in dirs1dd)
{
string destinationPath = @"C:\DATA\GDIV8-P89";
string[] fileList = System.IO.Directory.GetFiles(dir, "*.*");
foreach (string file in fileList)
{
File.Copy(file, file.Replace(dir, destinationPath), true);
}
}
}
}
else
{
}
}
У вас есть \\ (двойная обратная косая черта) в 'k' сразу после' PlatG' – MickyD
Есть ли вложенные папки (C: \ DATA \ AMT8-P47 и C: \ DATA \ GDIV8-P89) уже существуют? – benPearce
subFolderZ отсутствует двоеточие (:) – benPearce