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 може бути так само хороший, як ТАК!
Рірі

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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.