程序在驱动器之间交换文件?


0

有没有人建立一个程序/脚本来传输2个硬盘驱动器之间的文件,但是如果它们都接近完全....所以一个副本1个文件然后另一个复制另一个文件,然后他们删除复制的文件?

有点讨厌,有一个6tb raid在大约4tb满,然后1 4.5tb基本满,不能真正交换它们....没有做很多副本和删除文件....

有人知道让他们换掉的方法吗?大声笑


我想你不会找到这样的程序。想想如果操作中断会发生什么,你的文件会完全坏掉。尝试存档这些文件或使用临时存储,例如闪存驱动器。
12

很想找到一个4.5tb -.-> _的闪存驱动器<我没有足够的备用存储空间来快速完成这个主要问题
JosipGòdlyZirdum11年

特拉。抱歉有误导性的想法。好吧,它看起来你在第一个RAID上有6-4 = 2Tb可用空间,在每个上有4.5Tb数据。这只是3次迭代,不是那么烦人。:)
bytebuster

并不可怕,只是烦人,因为我睡觉时不能让它继续下去。
JosipGòdlyZirdum11年

Answers:


0

最简单的方法是编写一个小脚本(批处理文件)就足够了。

假设其中一个驱动器上有1.5Tb,请在每个驱动器上标识三个1.5Tb的块并写入一个可以完成工作的批处理文件。

您也可以半自动化此过程。假设你是在Windows上,要复制的驱动器X:Y:,每个文件是比你的自由空间(1.5TB)小。
RobocopyWindows 2003资源工具包工具的一部分

: repeat
robocopy X:\ Y:\From_X /MOVE /XD From_Y
if errorlevel 2 GOTO cont

SET FIRST_OK=1

: cont
robocopy Y:\ X:\From_Y /MOVE /XD From_X
if errorlevel 2 GOTO repeat

IF "%FIRST_OK"="1" GOTO end
GOTO repeat

: end
move X:\From_Y X:\
move Y:\From_X Y:\

请参阅此链接errorlevel“通过返回小号robocopy2或更高意味着尚未完成。


0

您可以使用shell脚本(powershell,bash)执行此操作。

L1:=要在磁盘上移动的文件a
L2:=要在磁盘上移动的文件b

while(L1有文件或L2有文件)和(l1或l2为真) 
   l1:=来自L1的文件适合b
   l2:=来自L2的文件适合a
   如果是l1
      将l1移至b
   如果是l2
      把l2移到a
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.