C# 如何复制变量中保存的文件并将其粘贴到其他位置?



目标:

我正在尝试复制一个存储在变量中的文件..,然后将其粘贴到另一个指定的文件夹中。

我看过这里:https://stackoverflow.com/a/53731042/12129150 但这没有帮助,因为我在变量中有一条路径。

这是我尝试过的:

// File path attached
private string filePath = null;
private void button2_Click(object sender, EventArgs e)
{
using (OpenFileDialog openFileDialog = new OpenFileDialog())
{
openFileDialog.InitialDirectory = "c:\";
openFileDialog.Filter = "All Files (*.*)|*.*";
openFileDialog.FilterIndex = 1;
openFileDialog.RestoreDirectory = true;
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
//Get the path of specified file
filePath = openFileDialog.FileName;
}
}
}

private void button1_Click(object sender, EventArgs e)
{
File.Copy(filePath, @"C:UsersuserDesktop@filePath");
}

但这只是将其保存到桌面上作为@filePath

自行获取文件名

private void button1_Click(object sender, EventArgs e)
{
var fileName = Path.GetFileName(filePath);
var newPath = Path.Combine(@"C:UsersuserDesktop", fileName);
File.Copy(filePath, newPath);
}

File.Copy 的文档指出第二个参数是

目标文件的名称。这不能是目录或 现有文件。

因此,不能将文件夹名称作为第二个参数传递。 您需要合并原始文件名和目标文件夹,并将此值作为目标文件传递。

private void button1_Click(object sender, EventArgs e)
{
var originalfile = Path.GetFileName(filePath);
var destination = Path.Combine(@"C:UsersuserDesktop@filePath", originalfile);
File.Copy(filePath, destination);
}

相关内容

  • 没有找到相关文章

最新更新