OpenFileDialog 从文本框多选目标路径
OpenFileDialog multiselect targetpath from textbox
大家好,
我想用 openfiledialog 将多个选定的文件复制到定义为 @"C:\TestFolder\"+ textBox1.Text
的文件夹中。我的问题是程序以某种方式也在文件名中写入文本框内容。
请在下面找到我的代码:
private void button3_Click(object sender, EventArgs e)
{
OpenFileDialog od = new OpenFileDialog();
od.Filter = "All files (*.*)|*.*";
od.Multiselect = true;
if (od.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string targetPath = @"C:\TestFolder\"+ textBox1.Text;
string path = System.IO.Path.Combine(targetPath, textBox1.Text);
if (!System.IO.Directory.Exists(targetPath)
{
System.IO.Directory.CreateDirectory(targetPath);
}
foreach (string fileName in od.FileNames)
{
System.IO.File.Copy(fileName, path + System.IO.Path.GetFileName(fileName));
}
}
}
如有任何意见,我们将不胜感激!
这些东西是等价的。
string targetPath = @"C:\TestFolder\"+ textBox1.Text;
string path = System.IO.Path.Combine(targetPath, textBox1.Text);
我会放弃第一个用于 Path.Combine
调用,因为它在分隔符方面便携且稳健。
试试这个:
string Main_dir = @"C:\TestFolder\";
string Sub_dir = textBox1.Text + @"\";
string targetPath = System.IO.Path.Combine(Main_dir, Sub_dir);
{
if (!System.IO.Directory.Exists(targetPath))
{
System.IO.Directory.CreateDirectory(targetPath);
}
foreach (string fileName in od.FileNames)
System.IO.File.Copy(fileName, targetPath + System.IO.Path.GetFileName(fileName), true);
}
缺少反斜杠
- @"\"
大家好,
我想用 openfiledialog 将多个选定的文件复制到定义为 @"C:\TestFolder\"+ textBox1.Text
的文件夹中。我的问题是程序以某种方式也在文件名中写入文本框内容。
请在下面找到我的代码:
private void button3_Click(object sender, EventArgs e)
{
OpenFileDialog od = new OpenFileDialog();
od.Filter = "All files (*.*)|*.*";
od.Multiselect = true;
if (od.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string targetPath = @"C:\TestFolder\"+ textBox1.Text;
string path = System.IO.Path.Combine(targetPath, textBox1.Text);
if (!System.IO.Directory.Exists(targetPath)
{
System.IO.Directory.CreateDirectory(targetPath);
}
foreach (string fileName in od.FileNames)
{
System.IO.File.Copy(fileName, path + System.IO.Path.GetFileName(fileName));
}
}
}
如有任何意见,我们将不胜感激!
这些东西是等价的。
string targetPath = @"C:\TestFolder\"+ textBox1.Text;
string path = System.IO.Path.Combine(targetPath, textBox1.Text);
我会放弃第一个用于 Path.Combine
调用,因为它在分隔符方面便携且稳健。
试试这个:
string Main_dir = @"C:\TestFolder\";
string Sub_dir = textBox1.Text + @"\";
string targetPath = System.IO.Path.Combine(Main_dir, Sub_dir);
{
if (!System.IO.Directory.Exists(targetPath))
{
System.IO.Directory.CreateDirectory(targetPath);
}
foreach (string fileName in od.FileNames)
System.IO.File.Copy(fileName, targetPath + System.IO.Path.GetFileName(fileName), true);
}
缺少反斜杠
- @"\"