Не удается удалить файлы, блокировка IIS - PullRequest
3 голосов
/ 30 марта 2012

У меня есть команда poweshell, которая удаляет папку (т.е. Summer) из каталога wwwroot и воссоздает папку с необходимыми файлами (images, css, dll и т. Д.) В ней.Проблема заключается в том, что IIS время от времени блокирует некоторые изображения или файлы в каталоге, поэтому команда powershell не может удалить файл.Я перезагружаю / останавливаю приложение перед запуском скрипта powershell, который используется сайтом, но проблема остается.Эта проблема является случайной, т. Е. Сценарий powershell может удалить папку в другое время, а в другой раз - нет.Странная вещь, если я начинаю удалять содержимое (подпапки, файлы) внутри «Summer», в конце я могу удалить папку «Summer», но это ручной процесс, который утомителен.

Есть ли какая-нибудь команда, которую я могу поместить в powershell или командный файл, чтобы удалить папку 'Summer', даже если она заблокирована IIS?

Ответы [ 3 ]

2 голосов
/ 30 марта 2012

Я согласен с @Lynn Crumbling и рекомендую iisreset.

Sysinternals имеет два инструмента, которые предоставляют другие опции:

Инструмент ProcExp позволяет вам найти, какие процессы имеютоткрывает дескрипторы для данного файла и позволяет вам закрыть этот дескриптор.Недостатком этого инструмента является то, что он не является инструментом командной строки.

Инструмент MoveFile позволяет запланировать удаление файла после перезагрузки.

2 голосов
/ 03 апреля 2012

Вы можете использовать командлеты IIS powershell для запуска и остановки пулов приложений, веб-сайтов и т. Д.

Import-Module WebAdministration;
Stop-WebAppPool ${appPoolName}
Stop-WebSite ${webSiteName}

, а затем снова можете запускать их, используя противоположные команды

Start-WebAppPool ${appPoolName}
Start-WebSite ${webSiteName}
0 голосов
/ 30 марта 2012

Как указано в комментарии, будет работать полная остановка IIS с использованием iisreset stop .

Также вы можете захотеть остановить только приложение, из которого вы пытаетесь удалить файлы. Посмотрите на Руководство администратора .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...