AppCmd ​​per creare una directory virtuale nel sito Web predefinito in IIS7


11

Provo a creare una directory virtuale sotto il "Sito Web predefinito" in IIS 7 utilizzando AppCmd.

Ma prima vorrei vedere se ne esiste già uno. Come posso utilizzare AppCmdper creare una directory virtuale nel "Sito Web predefinito" e come posso fare un'istruzione if?

Risposte:


11

Prova questo:

@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

Freddo! Questo è proprio quello di cui ho bisogno per iniziare! Grazie! Sembra che ServerFault potrebbe essere buono come SO!
Riri,

2
Questo non sembra innescare un codice di uscita 1 per una directory virtuale inesistente per me. Utilizzo di IIS 7.5.
jpmc26,

1

Prova questo. Principalmente uguale alla risposta data da Christopher_G_Lewis, ma si basa su un'analisi dell'output dell'elenco anziché sul codice di errore, che neanche io ottengo.

Utilizza anche il costrutto della shell cmd.exe A || B (se A fallisce, allora 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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.