我尝试使用AppCmd在IIS 7中的“默认网站”下创build一个虚拟目录。
但首先我想看看是否已经存在。 如何使用AppCmd在“默认网站”下创build虚拟目录,以及如何执行if语句?
尝试这个:
@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
尝试这个。 大部分与Christopher_G_Lewis给出的答案一样,但依赖于列表输出的parsing,而不是错误代码,我也不知道。
还使用了cmd.exe shell构造函数|| 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