如何删除多个虚拟目录?
由于您需要删除大量,我猜你会想要使用某种形式的脚本。
IIS 6.0,使用Iisvdir.vbs(article @ MSDN):
在命令提示,使用cd命令改为安装了Iisvdir.vbs将脚本的目录。此文件的默认位置是systemroot/system32/iisvdir.vbs。
在命令提示符下,键入:
cscript iisvdir.vbs /delete "Sample Web Site" VirtualDirectoryName.
用您的网站名称和虚拟目录名称为合适。如果网站名称中有空格,请在网站名称周围使用引号,如上例所示。
要删除虚拟目录,使用以下语法:
appcmd delete vdir /vdir.name: string
可变vdir.namestring是虚拟的虚拟路径
使用AppCmd.exe(article @ TechNet)IIS目录。
例如,要删除一个虚拟目录名为照片,从一个名为contoso站点的根应用,在命令提示以下,然后按ENTER键:
appcmd delete vdir /vdir.name: contoso/photos
要删除虚拟从一个名为contoso的网站名为Marketing的应用程序命名的目录的照片,请在命令提示符下键入以下,然后按ENTER键:
appcmd delete vdir /vdir.name: contoso/marketing/photos
HTH
您也可以编写一个msbuild脚本来执行此操作,并使用可用的msbuild扩展包here。我已经成功地用它来完成你对iis 6和iis 7.5中100多个vdirs的描述。
它非常简单,花了我更多的时间去编写.proj文件,而不是去弄清楚如何去做。
玩得开心:)
产生的MSBuild的目标会像下面
<Target Name="IIS7VirtualDirectories:Delete">
<MSBuild.ExtensionPack.Web.Iis7Application
TaskAction="Delete"
Website="%(Application.WebsiteName)"
Applications="@(Application)"
MachineName="$(MachineName)"
ContinueOnError="false"/>
<MSBuild.ExtensionPack.Web.Iis7Website
TaskAction="DeleteVirtualDirectory"
Name="%(VirtualDirectory.WebsiteName)"
VirtualDirectories="@(VirtualDirectory)"
ContinueOnError="false"
MachineName="$(MachineName)"/>
</Target>
下应用程序和VirtualDirectory在外部凸出文件:定义
无法获取这些命令工作,什么工作是添加一个尾随斜线。 'appcmd delete vdir'默认网站/ My_Virtual_Dir /''会起作用,如果你删除了尾部的斜杠,它就不起作用。 – Wotuu 2014-02-05 14:21:29