IIS7의 기본 웹 사이트에 가상 디렉터리를 만드는 AppCmd


11

IIS 7의 "기본 웹 사이트"아래에 가상 디렉터리를 만들려고합니다 AppCmd.

그러나 먼저 하나가 이미 있는지 확인하고 싶습니다. 어떻게 사용할 수 있습니다 AppCmd에서 가상 디렉터리를 만들 수있는 "웹 사이트 기본"어떻게 내가 만약 문을 할 수 있습니까?

답변:


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.