无法删除文件,IIS锁定

时间:2012-03-30 01:05:24

标签: iis powershell locking sites

我有一个poweshell命令,它从wwwroot目录中删除文件夹(即Summer)并重新创建包含必要文件(images,css,dll等)的文件夹。问题是,IIS偶尔会锁定目录中的某些图像或文件,因此powershell命令无法删除该文件。我在运行由网站使用的powershell脚本之前回收/停止apppool,但问题仍然存在。这个问题是随机的,即powershell脚本可以删除文件夹,而不是其他时间。奇怪的是,如果我开始删除'Summer'中的内容(子文件夹,文件),最后,我可以删除'Summer'文件夹,但这是一个手动过程,而且很乏味。

是否有任何命令我可以在powershell或批处理文件中删除'Summer'文件夹,即使它被IIS锁定了?

3 个答案:

答案 0 :(得分:2)

我同意@Lynn Crumbling并推荐iisreset。

Sysinternals有两个提供其他选项的工具:

ProcExp工具允许您查找哪些进程具有给定文件的打开句柄,并允许您关闭该句柄。这个工具的缺点是它不是命令行工具。

MoveFile工具允许您安排重启后要删除的文件。

答案 1 :(得分:2)

您可以使用IIS powershell命令行开关来启动和停止应用程序池,网站等

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

然后你可以使用相反的命令再次启动它们

Start-WebAppPool ${appPoolName}
Start-WebSite ${webSiteName}

答案 2 :(得分:0)

正如评论中所述,使用 iisreset stop 完全停止IIS会起作用。

此外,您可能只想停止尝试从中删除文件的应用程序。查看Administration Guide