【发布时间】:2021-12-10 11:42:55
【问题描述】:
我正在尝试为具有此特定功能的文件创建一个复制按钮:
当我在文本框中写入例如“KL5050”然后按复制按钮时,我想从特定文件夹复制文件 KL5050 并将其粘贴到另一个特定文件夹而不询问或打开任何对话框或窗口,只需单击,复制并粘贴。
文件格式无关紧要,可以是TXT、doc、PDF、JPEG等,只要将文本框中的文本与文件夹中的任何现有文件匹配,就会被复制到另一个文件夹.
此外,如果复制文件夹中不存在该文件,则会收到“找不到文件”的警告。
我目前的代码有两个文本框,第一个叫做 serieBox,一个只需要输入数据(如果是空的打开一个窗口)就可以继续下一个框,然后下一个框命名为 recetaBox,它是我输入文件名然后单击按钮的地方,程序将查找文件并将其复制到不同的文件夹中。到目前为止,我不知道在哪里放置第二个盒子,recetaBox。尚未在代码中。
private void cargarButton_Click(object sender, EventArgs e)
{
if (serieBox.Text == string.Empty)
{
SerieWin openForm = new SerieWin();
openForm.ShowDialog();
}
else
{
try
{
string dircopyFrom = @"C:\From\";
string dircopyTo = @"C:\To\";
string[] files = Directory.GetFiles(dircopyFrom);
foreach (string file1 in files)
{
string filename1 = Path.GetFileName(file1);
File.Copy(file1, dircopyTo + "\\", true);
}
}
catch (Exception ex)
{
}
【问题讨论】:
-
您遇到了什么错误(如果有)?
-
我没有得到任何错误,当我单击按钮时它到目前为止不起作用,我仍然不知道如何实现第二个文本框“recetaBox”,它告诉复制哪个文件代码。
-
@"C:\To\"已经有它的尾部反斜杠。在File.Copy(file1, dircopyTo + "\\", true);中使用时不要添加另一个。只需使用dircopyTo。但这不是你遇到的问题,这对我来说完全不清楚。我们不会为您编写代码来从用户那里获取文件名,当您发现您将不得不使用该文件名来检查file1以查看它是否至少是部分匹配在复制它之前,或者最好在获取文件列表时将其用作过滤器。 -
@Ken 只是想指出 File.Copy 不接受目录作为目标;它也必须指定一个文件名
-
@CaiusJard:你显然在开始阅读之前就停止了阅读但这不是你遇到的问题。 :-)