2012-03-15 42 views

Trả lời

5

Khi bạn cần xóa một số lượng lớn, tôi đoán bạn sẽ muốn sử dụng một số dạng tập lệnh.

IIS 6.0, sử dụng IISvdir.vbs (article @ MSDN):

Tại dấu nhắc lệnh, sử dụng lệnh cd để thay đổi thư mục chứa kịch bản Iisvdir.vbs được cài đặt. Vị trí mặc định cho tệp này là systemroot/system32/iisvdir.vbs.

Tại dấu nhắc lệnh, gõ:

cscript iisvdir.vbs /delete "Sample Web Site" VirtualDirectoryName.

Thay tên trang web của bạn và tên thư mục ảo cho phù hợp. Nếu có không gian trong tên trang Web, sử dụng dấu ngoặc kép xung quanh tên trang Web, như được hiển thị trong ví dụ trước.

IIS 7 sử dụng AppCmd.exe (article @ TechNet):

Để xoá thư mục ảo, sử dụng cú pháp sau:

appcmd delete vdir /vdir.name: string

Các vdir.namestring biến là con đường ảo của ảo danh mục.

Ví dụ, để loại bỏ một thư mục ảo có tên ảnh từ các ứng dụng gốc của một trang web có tên Contoso, gõ lệnh sau tại dấu nhắc lệnh, và sau đó nhấn ENTER:

appcmd delete vdir /vdir.name: contoso/photos

Để loại bỏ một ảo thư mục có tên ảnh từ một ứng dụng có tên tiếp thị trong một trang web có tên Contoso, gõ lệnh sau tại dấu nhắc lệnh, và sau đó nhấn ENTER:

appcmd delete vdir /vdir.name: contoso/marketing/photos

HTH

+0

Không thể lấy những lệnh để làm việc, công việc gì đã được thêm dấu gạch chéo. 'appcmd delete vdir' Trang web mặc định/My_Virtual_Dir/"'sẽ hoạt động, nếu bạn đã xóa dấu gạch chéo, nó không hoạt động. – Wotuu

1

Bạn cũng có thể viết tập lệnh msbuild để thực hiện việc này và sử dụng gói mở rộng msbuild có sẵn here. Tôi đã sử dụng thành công này để làm chính xác những gì bạn đang nói cho 100s của vdirs trong iis 6 VÀ trong iis 7.5.

Nó khá đơn giản và mất nhiều thời gian để viết tệp .proj hơn là để tìm ra cách thực hiện.

vui chơi :)

các msbuild mục tiêu kết quả sẽ trông giống như sau

<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> 

đâu Application và VirtualDirectory được định nghĩa trong một tập tin Proj bên ngoài :)

Các vấn đề liên quan