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