Подтвердить что ты не робот

Освобождение блокировок общих файлов Windows

Эта проблема возникает время от времени на работе. Наша сборная машина может иметь доступ к файлам через обычный общий файл Windows. Если кто-то просматривает папку удаленно на машине и оставляет окно открытым на ночь, то сборка не выполняется (как это было сделано сейчас). Окно проводника оставило открытые точки в одной из подпапок в исходном дереве. Сборка удаляет источник и выполняет чистое оформление перед сборкой. Ошибка удаления.

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

Когда общий ресурс Windows имеет блокировку, процесс блокировки - это System, поэтому я не думаю, что могу его убить, как с обычными замками.

Кто-нибудь знает способ освобождения блокировки в общей папке без перезагрузки компьютера?

4b9b3361

Ответ 1

Нашел решение.

  1. Найдите процесс с помощью Process Explorer:

    1. Загрузите и извлеките файл procxp.exe
    2. В Process Explorer используйте команду "Найти дескриптор или DLL..." из меню "Найти"
    3. Введите в название каталога, который имеет проблемы с удалением
    4. Должен быть показан список открытых файлов, которые соответствуют этому имени. Возьмите некоторые догадки и найдите, какой из них не удаляется. Если файл заблокирован общим ресурсом Windows, процесс, содержащий файл, будет System
    5. Запишите каталог, который был оставлен открытым
  2. Загрузите и установите Unlocker (Предупреждение: ссылка удалена, так как она содержит вредоносное ПО)

    1. Установите Unlocker, отключив опцию для расширений проводника и прочего барахла
  3. Разблокировать каталог

    1. Откройте окно cmd и перейдите в C:\Program Files\Unlocker
    2. Из окна cmd запустите Unlocker.exe "путь к заблокированной папке"
    3. Появится диалоговое окно, подтверждающее снятие блокировки. Используйте кнопку разблокировки, чтобы разблокировать файл

Теперь каталог должен быть разблокирован, и теперь его можно удалить.

Ответ 2

Если вы являетесь администратором на сервере, который совместно использует файл по сети, вы можете использовать встроенную функцию Windows:

  • Пуск → "Мой компьютер" → щелкните правой кнопкой мыши → "Управление" приведет вас к компьютеру Консоль управления
  • В левой навигационной панели выберите "Системные инструменты" → "Общие папки"
  • Здесь вы можете просматривать Акции, Сессии и Открыть файлы. Это позволяет узнать, кто открыл файлы с рабочих станций.
  • Щелкните правой кнопкой мыши элемент в списке, чтобы удалить блокировку файла.

Надеюсь, что это поможет.

Ответ 3

Попробуйте Process Hacker: https://wj32.org/processhacker/

Процессный хакер похож на Process Explorer на стероидах.

Чтобы найти неправильный процесс, нажмите CTRL + F или нажмите кнопку "Найти дескрипторы библиотек DLL" и найдите имя файла.

Как только вы найдете файл в диалоговом окне поиска дескрипторов, вы можете просто щелкнуть файл правой кнопкой мыши и выбрать "закрыть". (как минимум для v2.39.124)

В более старых версиях была опция "терминатор" в контекстном меню процесса. Щелкните правой кнопкой мыши на оскорбительном процессе → MiscellaneousTerminator → Выберите методы завершения. Обратите внимание, что некоторые из них, возможно, опасны и могут иметь непредвиденные последствия.

Ответ 4

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

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

D:\Projects > net share Projects/DELETE/Y

У пользователей есть открытые файлы в проектах. Продолжение операции приведет к закрытию файлов.

Проекты были успешно удалены.

(ПРИМЕЧАНИЕ. Создание ресурса снова автоматически может быть больно, если группы привилегий, которые вам нужно дать, грязны.)