AppCmd ​​pour créer un répertoire virtuel dans le site Web par défaut dans IIS7


11

J'essaie de créer un répertoire virtuel sous le "Site Web par défaut" dans IIS 7 en utilisant AppCmd.

Mais je voudrais d'abord voir s'il en existe déjà un. Comment puis-je utiliser AppCmdpour créer un répertoire virtuel sous le "Site Web par défaut" et comment puis-je faire une instruction if?

Réponses:


11

Essaye ça:

@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

Cool! C'est exactement ce dont j'ai besoin pour commencer! Merci! On dirait que ServerFault pourrait être aussi bon que SO!
Riri

2
Cela ne semble pas déclencher un code de sortie de 1 pour un répertoire virtuel inexistant pour moi. Utilisation d'IIS 7.5.
jpmc26

1

Essaye ça. Principalement la même que la réponse donnée par Christopher_G_Lewis, mais repose sur une analyse de la sortie de la liste au lieu du code d'erreur, ce que je n'obtiens pas non plus.

Utilise également la construction shell cmd.exe A || B (si A échoue, faites 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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.