Кто-нибудь создал программу / сценарий для передачи файлов между двумя жесткими дисками, но, например, если оба почти заполнены ... так, что один копирует один файл, а другой копирует другой файл, затем они удаляют файлы, которые были скопированы?

Немного раздражает, если набрать 6 ТБ на 4 ТБ, то в основном 1 ТБ, в общем-то, не может их легко поменять ... без большого количества копий и удалений файлов ....

Кто-нибудь знает способ заставить их просто поменяться? лол

2 ответа2

0

Простейшего способа написать небольшой скрипт (командный файл) будет достаточно.

Предполагая, что у вас есть 1,5 ТБ на одном из дисков, определите три блока по 1,5 ТБ на каждом диске и запишите пакетный файл, который будет выполнять эту работу.

Вы также можете полуавтоматизировать этот процесс. Предполагая, что вы работаете в Windows, хотите скопировать диски X: и Y: каждый файл меньше вашего свободного места (1,5 ТБ).
Robocopy, который является частью инструментов набора ресурсов Windows 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 , возвращенного robocopy . 2 или выше означает еще не сделано.

0

Вы можете сделать это с помощью сценария оболочки (powershell, bash).

L1 := files to move on disk a
L2 := files to move on disk b

while (L1 has files or L2 has files) and (l1 or l2 is true) 
   l1 := file from L1 that fits on b
   l2 := file from L2 that fits on a
   if l1
      move l1 to b
   if l2
      move l2 to a

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .