Rav*_*Ram 7 iis-7 batch-file appcmd
我们正在将100多个域移动到新服务器上.我创建了一个脚本,允许使用简单的BAT文件将网站条目和FTP条目添加到IIS 7中.我找到了几个使用AppCmd ADD SITE的教程,效果非常好.通过运行:: c:\ scripts\createIIS.bat youdomainname.com.任何反馈?- 这是工作.
@Echo off
:: --------------------------------------------
:: Create IIS 7 Site Entry / FTP Site
:: --------------------------------------------
:: Get variable from command %1 Root Domain Name.
set rootDomainName = %1
:: This is the path to the Web Pages on the server.
set WebFile=C:\websites\
:: ADD NEW Directory
MKDIR %WebFile%%1
:: ADD IIS ENTRY
%windir%\system32\inetsrv\AppCmd ADD SITE /name:%1 /bindings:http/*:80:%1,http/*:80:www.%1 /physicalPath:C:\websites\%1
:: --------------------------------------------
:: CREATE FTP in IIS
:: --------------------------------------------
%windir%\system32\inetsrv\AppCmd add vdir /app.name:"Default FTP Site/" /path:/%1 /physicalPath:"%WebFile%%1"
echo New Directory Created: %WebFile%%1
echo IIS Website Created: %1 and www.%1
echo FTP SITE Created: %1
echo ...
echo ...
echo COMPLETED!
pause
Run Code Online (Sandbox Code Playgroud)
好剧本.虽然这不是一个真正的问题,但我对批量处理进行了一些修改.
首先,我创建了一个批处理文件,该文件读入要添加的网站的文本文件,引用您稍微修改过的批处理文件,仅创建网站(不需要FTP):
@Echo off
:: ---------------------------------------------------------------------------------------
:: Create Batched IIS 7 Site Entries
::
:: Usage: CreateIISEntry.bat [websitename.com] (no www.)
::
for /f %%X in (NewWebsiteEntries.txt) do CreateSingleIISEntry.bat %%X
echo ...
echo *** BATCH PROCESS HAS BEEN COMPLETED ***
Run Code Online (Sandbox Code Playgroud)
NewWebsiteEntries.txt包含要创建的网站列表 - 每行一个(不包括www.):
site1.com
site2.com
site3.com
Run Code Online (Sandbox Code Playgroud)
最后,创建条目的批处理文件:
@Echo off
:: ---------------------------------------------------------------------------------------
:: Create IIS 7 Site Entry
::
:: Usage: CreateSingleIISEntry.bat [websitename.com] (no www.)
:: ---------------------------------------------------------------------------------------
:: Get variable from command %1 Root Domain Name.
set rootDomainName = %1
:: This is the path to the Web Pages on the server.
set WebFile=C:\inetpub\wwwroot\
:: ADD NEW Directory
MKDIR %WebFile%%1
echo New Directory Created: %WebFile%%1
xcopy C:\inetpub\wwwroot\NewWebsiteHolding\*.* %WebFile%%1
:: ADD IIS ENTRY
%windir%\system32\inetsrv\AppCmd ADD SITE /name:%1 /bindings:http/[YOUR IP ADDRESS OR *]:80:%1,http/[YOUR IP ADDRESS OR *]:80:www.%1 /physicalPath:%WebFile%%1
echo IIS Website Created: %1 and www.%1
#:: --------------------------------------------
#:: CREATE FTP in IIS
#:: --------------------------------------------
#%windir%\system32\inetsrv\AppCmd add vdir /app.name:"Default FTP Site/" /path:/%1 /physicalPath:"%WebFile%%1"
#
#
#echo FTP SITE Created: %1
echo ...
echo ...
echo New website added ========================= %1
Run Code Online (Sandbox Code Playgroud)
因为在我的情况下,并非所有新网站都会立即生效,我是一个默认的占位符网站,其内容被复制到新创建的网站目录中.
这会将所有网站添加到默认应用程序池中.
就是这样.