2

У меня есть виртуальная машина под управлением XP, на которой файлы загружаются в случайные моменты. Мне нужен сценарий или утилита, подходящая для командной строки, которая будет запускаться каждые X минут (например) и перемещать все загруженные файлы в общий каталог на коробке Win7.

Теперь команда move командной строки не работает на дисках, а тем более - на общих. (И это дает супер полезное сообщение Access denied.)

Я мог бы сделать

copy src desr_share
rm src

... но вот сложная часть:

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

Поэтому мне нужно что-то, что имеет семантику move (скопируйте файл и удалите его только в случае успеха), но это будет работать на разных машинах.

Какие-либо предложения?

PS. Я не против, если файл будет перемещен только частично, если он не будет удален. Я буду принудительно перезаписывать любые файлы назначения, и при следующем запуске файл будет загружен снова, полностью.

1 ответ1

4

Посмотрите на Robocopy, который является стандартным для Win7 и доступен в наборе разработчика Microsoft для XP.

использовать robocopy /? (или robocopy /? > drive:\path\robocopy_options.txt) для параметров.

Windows 7:

http://technet.microsoft.com/en-us/library/cc733145%28v=ws.10%29.aspx

Windows XP:

http://www.microsoft.com/en-us/download/details.aspx?id=17657#Requirements

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