У меня есть FTP-сервер, на который пользователи загружают музыку или программы для разговоров. У меня есть сервер, который будет автоматически, через планирование времени, захватывать эти файлы в определенных каталогах. Одна из проблем, с которыми мы сталкиваемся, заключается в том, что файл все еще может загружаться, когда сервер захватывает файл. Есть ли способ избежать этого?

Я уверен, что это происходит потому, что загрузка происходит по FTP, а Windows использует smb. Тем временем я использовал компьютер между FTP-сервером и сервером, на котором должно продолжаться воспроизведение звука, и установил на него бесплатное программное обеспечение для зеркалирования. Это облегчило некоторые проблемы, но было ненадежным.

1 ответ1

0

Я использовал сценарий PowerShell в прошлом для достижения этой цели. Команда Move-Item хорошо справляется с этим. Создайте цикл, который ищет файлы, и скажите ему, чтобы он перемещал найденные файлы.

while ($true) {
    Get-ChildItem $SourcePath | Move-Item -Destination $destPath -Force
    Sleep 5
}

Я установил PS Script для выполнения в планировщике заданий при запуске. Это становится немного сложнее при переходе к сетевому ресурсу из-за разрешений, но YMMV.

Вы даже можете отфильтровать то, что вы хотите переместить. Этот пример не будет перемещать папки:

Get-ChildItem $SourcePath | Where {!$_.psiscontainer} | Move-Item -Destination $destPath -Force

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