先来个批量的例子:
echo Please use administrator privileges to run.
::请使用管理员权限执行
cd /d %~dp0
::站点名称,此处不需要改动
set name="Service1"
::绑定域名和端口号,此处根据实际情况而定
set domain=192.168.1.155:8848
::网站源文件物理路径,此处根据实际情况而定
set physicalPath="F:\WebService\Service1"
::此处向下都不需要改动
::设置权限
echo Y|cacls %physicalPath% /T /G Everyone:F
::删除同名网站
%systemroot%/system32/Inetsrv/APPCMD.exe delete site /site.name:%name%
::删除同名程序池
%systemroot%/system32/Inetsrv/APPCMD.exe delete AppPool /AppPool.name:%name%
::添加程序池
%systemroot%/system32/Inetsrv/APPCMD.exe add AppPool /name:%name% /managedRuntimeVersion:"v4.0"
::添加网站
%systemroot%/system32/Inetsrv/APPCMD.exe add site /name:%name% /physicalPath:%physicalPath% /bindings:"http/%domain%:"
::设置程序池
%systemroot%/system32/Inetsrv/APPCMD.exe set site /site.name:%name% /[path='/'].applicationPool:%name%
::站点名称,此处不需要改动
set name="Service2"
::绑定域名和端口号,此处根据实际情况而定
set domain=192.168.1.155:8849
::网站源文件物理路径,此处根据实际情况而定
set physicalPath="F:\WebService\Service2"
::此处向下都不需要改动
::设置权限
echo Y|cacls %physicalPath% /T /G Everyone:F
::删除同名网站
%systemroot%/system32/Inetsrv/APPCMD.exe delete site /site.name:%name%
::删除同名程序池
%systemroot%/system32/Inetsrv/APPCMD.exe delete AppPool /AppPool.name:%name%
::添加程序池
%systemroot%/system32/Inetsrv/APPCMD.exe add AppPool /name:%name% /managedRuntimeVersion:"v4.0"
::添加网站
%systemroot%/system32/Inetsrv/APPCMD.exe add site /name:%name% /physicalPath:%physicalPath% /bindings:"http/%domain%:"
::设置程序池
%systemroot%/system32/Inetsrv/APPCMD.exe set site /site.name:%name% /[path='/'].applicationPool:%name%
pause
例子给完了,其实之前也查了一些资料,但是都是单服务的批处理添加,没有批量多个的网站建立的实例,我就试了一下,最早是将两个服务写在一起,也就是两个服务同时删除同名网站程序池同时添加,但是结果却事与愿违,结果是只建立了后面一个网站,前面那个好像被覆盖掉了,所以最终采用例子中的写法,每个服务均写一遍,然后就可以了,希望给大家一点参考。