【问题标题】:c# copy multiple filesc#复制多个文件
【发布时间】:2018-12-27 13:09:50
【问题描述】:

我尝试将 c# 中的多个文件从文件夹 A 复制到文件夹 B。我过滤了要在我的代码中复制的文件 - 之后,例如文件夹 A 中的文件 1 、 2 和 5 应该复制到文件夹 B。 因此,我想使用 Windows Copy Gui - 因为如果存在任何同名文件,我想查看复制进度条和选项。

我找到了“How to bring up the built-in File Copy dialog?”这篇文章。我尝试使用以下选项:

文件系统.CopyFile 文件系统.CopyDirectory

但我的问题是:如果我使用 CopyFile,我只能复制一个文件...如果我在循环中启动 CopyFile 语句,Windows Copy GUI 将为每个文件打开和关闭,因此我无法使用进度条。

如果我使用 CopyDirectory,我只能将文件夹 A 中的所有文件复制到文件夹 B。

那么如何使用 WINDOWS COPY GUI 将多个文件从文件夹 A 复制到文件夹 B ???

谢谢。

【问题讨论】:

  • 执行for循环或foreach也许是这样
  • 问题是如果我循环复制文件或 foreach Filesystem.Copy Funktion 将分别为每个文件启动和打开/关闭 Windows Copy GUI
  • 首先选择文件并获取所有选定的文件名或路径然后存储在数组中并在数组上运行循环并将文件从文件夹a复制到b
  • 我觉得最好自己写个GUI,应该不会太复杂。
  • @MetaColon - 我已经考虑过了,但一定有可能吗?我的意思是,如果我在资源管理器中选择一些文件并开始复制文件,Windows Copy GUI 会这样做

标签: c# file-copying


【解决方案1】:

您似乎在本机 Windows API 上使用 VB.Net 包装器,而包装器限制了您。可能,您可以直接使用那些(或更新的 API)并且应该搜索 我认为您需要使用IFileOperation.CopyItems,它接受项目数组作为源,但您必须编写大量互操作代码或查找其他示例。

【讨论】:

  • 好吧对不起我的问题..但我找不到一些关于“IFileOperation.CopyItems”的详细信息?也许你能告诉我在哪里可以找到如何使用的示例代码?
  • @Sunnyboy.94 我发现了另一个 SO 问题,其中包含使用该接口的源代码链接。 stackoverflow.com/questions/34418080/… 希望这是一个好的起点。
猜你喜欢
  • 1970-01-01
  • 2016-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-18
  • 2015-02-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多