AppCmd ​​để tạo một thư mục ảo trong trang web mặc định trong IIS7


11

Tôi cố gắng tạo một thư mục ảo trong "Trang web mặc định" trong IIS 7 bằng cách sử dụng AppCmd.

Nhưng trước tiên tôi muốn xem nếu một cái đã tồn tại. Làm cách nào tôi có thể sử dụng AppCmdđể tạo một thư mục ảo trong "Trang web mặc định" và làm cách nào tôi có thể thực hiện một câu lệnh if?

Câu trả lời:


11

Thử cái này xem sao:

@ECHO OFF
REM --------------------------------------------------------------------------------
REM Check for and create VDir under Default Web Site
REM
REM %1 is the VDIR to create
REM %2 is the Physical path to the VDIR 
REM --------------------------------------------------------------------------------

IF "%1"=="" GOTO Syntax
IF "%2"=="" GOTO Syntax

ECHO Running...
ECHO   AppCmd.exe list vdir "Default Web Site/%1/"
ECHO.
AppCmd.exe list vdir "Default Web Site/%1/"
IF %errorlevel%==1 GOTO Exists

ECHO.
ECHO Running...
ECHO   AppCmd.exe ADD vdir /app.name:"Default Web Site/" /path:/%1 /physicalPath:%2
ECHO.
AppCmd.exe ADD vdir /app.name:"Default Web Site/" /path:/%1 /physicalPath:%2

GOTO End

:Exists
ECHO.
ECHO VDir already exists
ECHO.
GOTO End

:SYNTAX
ECHO.
ECHO VDir Name and Physical Path Required
ECHO.
ECHO CreateVDir.CMD ^<VDirName^> C:\PhysPath
ECHO.

:END

Mát mẻ! Đây chỉ là những gì tôi cần để có được đi! Cảm ơn! Có vẻ như ServerFault có thể tốt như SO!
Riri

2
Điều này dường như không kích hoạt mã thoát 1 cho một thư mục ảo không tồn tại đối với tôi. Sử dụng IIS 7.5.
jpmc26

1

Thử cái này xem sao. Chủ yếu giống như câu trả lời được đưa ra bởi Christopher_G_Lewis, nhưng dựa vào phân tích đầu ra của danh sách thay vì mã lỗi, điều mà tôi không nhận được.

Cũng sử dụng shell cmd.exe xây dựng A | | B (nếu A thất bại thì làm B)

@ECHO OFF
REM --------------------------------------------------------------------------------
REM Check for and create VDir under Default Web Site
REM
REM %1 is the VDIR to create
REM %2 is the Physical path to the VDIR 
REM --------------------------------------------------------------------------------

IF "%1"=="" GOTO Syntax
IF "%2"=="" GOTO Syntax

AppCmd.exe list vdir "Default Web Site/%1/" | findstr /I "Default Web Site/%1/" || AppCmd.exe add vdir /app.name:"Default Web Site/" /path:/%1 /physicalPath:%2

goto :eof
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.