Я написал небольшое приложение на c ++, которое автоматически запускается после Windows загрузки на нескольких клиентах. Это приложение будет копировать файл с сетевого ресурса (тот же сетевой ресурс для всех клиентов) на локальный диск. Когда я перезагружаю все клиенты сразу, куча из них получит ошибку 1231 от функции std :: filesystem :: copy со следующим сообщением:
«Невозможно достичь сетевого расположения»
Если я перезагружу все клиенты с интервалом в пару секунд между ними, то проблем не будет. Это заставляет меня думать, что функция копирования может блокировать файл во время копирования.
Есть ли какие-то настройки, которые мне не хватает, которые предотвращают это? Это нормальное поведение?
РЕДАКТИРОВАТЬ: я смог исправить проблему с сетью, однако теперь я получаю ошибку 32, в которой говорится, что «процесс не может получить доступ к файлу, потому что он используется другим процессом». Блокирует ли функция копирования файлы, которые в данный момент копируются?