AppCmd ​​untuk membuat direktori virtual di situs web default di IIS7


11

Saya mencoba membuat direktori virtual di bawah "Situs Web Default" di IIS 7 menggunakan AppCmd.

Tapi pertama-tama saya ingin melihat apakah sudah ada. Bagaimana saya bisa menggunakan AppCmduntuk membuat direktori virtual di bawah "Situs Web Default" dan bagaimana saya bisa melakukan pernyataan-if?

Jawaban:


11

Coba ini:

@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

Keren! Inilah yang saya butuhkan untuk segera pergi! Terima kasih! Sepertinya ServerFault mungkin sama baiknya dengan SO!
Riri

2
Ini sepertinya tidak memicu keluar kode 1 untuk direktori virtual yang tidak ada untuk saya. Menggunakan IIS 7.5.
jpmc26

1

Coba ini. Sebagian besar sama dengan jawaban yang diberikan oleh Christopher_G_Lewis, tetapi bergantung pada parse dari output daftar daripada kode kesalahan, yang saya tidak dapatkan.

Juga memanfaatkan shell konstruksi cmd.exe A || B (jika A gagal maka lakukan 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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.