我一直试图找到一种方法来简化将文件从一个驱动器(在我的情况下是网络或外部)复制到我的主系统驱动器。如果没有创建我每次必须激活的程序然后选择其中的所有信息,我没有什么好的设计可以绕过它。
我一直想知道是否有办法拦截一个直接的Windows副本与程序,以我的方式。基本设计是在抓取副本时(实际上为了这个效率,一组不同的副本),程序会将所有单独的副本组织成单个副本流。
我一直想要这样做,因为最近我需要备份大量数据并移动它,因为我的所有驱动器在过去几个月似乎都失败了。
修改
目前,我们假设我正在从完全碎片整理的外部驱动器进行复制(因为我是)。我们还假设我正在复制到99%的碎片整理驱动器(因为我是)。如果我尝试一次移动每个文件,那么Windows复制方法效果很好,因为它只需要将一个连续文件从一个驱动器流式传输到另一个驱动器(可能保持副本连续)。这基本上是最好的情况,我需要从那里搬到这里。因此,复制方法以某种算法逻辑顺序(通常通过文件名)获取文件并读取然后将数据写入新位置。
现在对于这种情况的实际情况,我会将来自不同位置的一堆文件(我们仍假设完全碎片整理,因为这是我的外部情况)复制到第二个驱动器上的不同文件位置。我不想在开始下一个之前等待每个人完成,所以我会检查文件夹并选择其中的内容,很快我的屏幕将被COPY窗口覆盖,显示所有试图运行的副本的状态同一时间。当每个拷贝独立于其他拷贝进行时,这使整个拷贝略微减慢。这意味着,不是单个连续文件占用总带宽,所有这些文件大致相等地共享带宽(这也增加了磁盘的读写延迟,因为现在系统必须从每个文件中抓取一点,然后再回传到第一个)。仍然假设最佳情况,这比所有文件都在一个位置并移动到一个位置的速度慢。
我想要做的是拦截所有单独的下载,并将它们组织成一个接一个的单个下载列表。
答案 0 :(得分:0)
你可以很好地拦截的唯一方法是FileSystemWatcher。
答案 1 :(得分:0)