日期:2014-05-18  浏览次数:20806 次

删除某个虚拟目录下的所有虚拟目录
用批处理   或是   .Net都可以。
在网上查了查,   看了看,

批处理只会删有固定名字的
cscript   C:\Inetpub\AdminScripts\adsutil.vbs   //Nologo   //T:300   delete   w3svc/1/root/%1/
某个虚拟目录名字可以固定,关键是下面的虚拟目录数量可能会变,也很多。

谢谢!解决了再送n分。


------解决方案--------------------
http://www.semcase.com/docus/iis/cl_as_deletevdir.htm
------解决方案--------------------
wmi ?
------解决方案--------------------
看这个http://community.csdn.net/Expert/topic/5362/5362550.xml?temp=.763302
------解决方案--------------------
强制删除该目录不就行了吗、
------解决方案--------------------
得到虚拟目录物理目录....删除这个目录就可以了...


------解决方案--------------------
Dim IISSchema As New DirectoryEntry( "IIS://Localhost/Schema/AppIsolated ")
Dim CanCreate As Boolean = Not IISSchema.Properties( "Syntax ").Value.ToString.ToUpper() = "BOOLEAN "
IISSchema.Dispose()
Dim IISAdmin As New DirectoryEntry( "IIS://Localhost/W3SVC/1/Root/YourDefineName ") ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
For Each VD As DirectoryEntry In IISAdmin.Children
IISAdmin.Invoke( "Delete ", New String() {VD.SchemaClassName, VD.Name})
IISAdmin.CommitChanges()
Next VD
------解决方案--------------------
//假如虚拟目录名为 "Webtest ",先在项目中引用
//System.DirectoryServices.dll,再
using System.DirectoryServices;
protected System.DirectoryServices.DirectoryEntry dirroot;

1、添加新的虚拟目录
DirectoryEntry newVirDir = dirroot.Children.Add( "Webtest ", "IIsWebVirtualDir ");
newVirDir.Invoke( "AppCreate ",true);
newVirDir.CommitChanges();
dirroot.CommitChanges();
2、更改虚拟目录属性
//虚拟目录的属性较常用的有:AccessRead,AccessWrite,AccessExecute,AccessScript,DefaultDoc,EnableDefaultDoc,Path等

DirectoryEntry Dirport = dirroot.Children.Find( "Webtest ", "IIsVirtualDir ");
Dirport .Properties[ "AccessRead "][0] = true;

3、删除虚拟目录
DirectoryEntry Dirport = dirroot.Children.Find( "Webtest ", "IIsVirtualDir ");
Dirport.Invoke( "AppDelete ",true);
dirroot.CommitChanges();
或者:

object[] part = new object[2];
part[0] = "IIsWebVirtualDir ";
part[1] = "Webtest ";
dirroot.Invoke( "Delete ",part);
dirroot.CommitChanges();