2016-05-27 2 views
0

Сценарий:

У нас есть узел, который распространяется на 2 разных клиентов, так и в случае после сборки, я копирую $ (TargetDir) до 2 разные каталоги, что означает, что $ (TargetDir) становится избыточным.

Мой сценарий выглядит следующим образом:

start /min xcopy "$(TargetDir)*.*" "$(TargetDir)..\Folder1" /s /y /i 
    start /min xcopy "$(TargetDir)*.*" "$(TargetDir)..\Folder2" /s /y /i 

Я затем пытается удалить $ (TargetDir) с помощью:

start /min rd /s /q "$(TargetDir)" 

Однако это не удается с «Процесс не может получить доступ к файлу, так как используется другим процессом ».

никогда также пытались использовать:

attrib -R "$(TargetDir)*.*" /S 

до удаления, но до сих пор нет радости.

ответ

2

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

Существует более чем один обходной путь вы можете рассмотреть следующие вопросы:

  • Изменение $ (TargetDir) в Folder1, так что вы не имеете дополнительные копии и не надо ничего удалять.
  • Удалите только файлы, а не каталог.
  • Не удаляйте ничего, поскольку это просто заставляет проект перестраиваться каждый раз.
  • Сообщите пользователю, чтобы добавить исключение для каталога сборки.

Начните с 4-й пули, лучший способ узнать, что это действительно вредоносный продукт пользователя, который вызывает эту проблему. Если это Аваст, тогда не смотрите дальше, что укусить человечество не принадлежит машине программиста.

Смежные вопросы