AppCmd ​​เพื่อสร้างไดเรกทอรีเสมือนในเว็บไซต์เริ่มต้นใน IIS7


11

ฉันพยายามที่จะสร้างไดเรกทอรีเสมือนภายใต้ "เริ่มต้นเว็บไซต์" ใน IIS 7 AppCmdใช้

แต่ก่อนอื่นฉันต้องการดูว่ามีอยู่แล้ว ฉันAppCmdจะใช้เพื่อสร้างไดเรกทอรีเสมือนภายใต้ "เว็บไซต์เริ่มต้น" และฉันจะทำคำสั่ง if ได้อย่างไร

คำตอบ:


11

ลองสิ่งนี้:

@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

เย็น! นี่คือสิ่งที่ฉันต้องไป! ขอบคุณ! ดูเหมือนว่า ServerFault อาจจะดีเท่ากับ SO!
Riri

2
ดูเหมือนจะไม่ทำให้รหัสการออก 1 สำหรับไดเรกทอรีเสมือนที่ไม่มีอยู่สำหรับฉัน ใช้ IIS 7.5
jpmc26

1

ลองสิ่งนี้ ส่วนใหญ่เหมือนกับคำตอบที่ได้รับจาก Christopher_G_Lewis แต่อาศัยการแยกวิเคราะห์ผลลัพธ์ของรายการแทนรหัสข้อผิดพลาดซึ่งฉันไม่ได้รับเช่นกัน

ยังใช้ประโยชน์จากเปลือก cmd.exe สร้าง A | | B (ถ้า A ล้มเหลวให้ทำ 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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.