bat发布Windows服务,创建站点,创建数据库,执行sql脚本,配置web.config文件

下面是在btnet的项目中使用的发布脚本,供参考吧!

根据各自的功能需要,自行修改。

主要功能

1)在bat中发布Windows服务

2)在bat中创建数据库,并执行建表脚本

3)在bat中发布并创建IIS站点

4)在bat中使用powershell配置Web.config文件

5)在bat中启动浏览器,浏览站点

6)在bat中删除站点

7)在bat中删除数据库

 

REM this might work for you.  It worked for me on Windows 7 Pro.
C:\Windows\Microsoft.NET\Framework\v2.0.50727\installutil %CD%\btnet_service\bin\release\btnet_service.exe 

 

 

复制代码
@echo off
echo You must run this as Administrator.
echo You'll need to know a SQL Server username and password that works with SQL Server security (not a Windows user)
echo The script assumes a SQL Server instance of local\SQLEXPRESS that works with both Windows and SQL Server security.
echo
set BTNET=
set SQLUSER=
set SQLPSWD=
set /p BTNET=Enter name of btnet instance.  Hit enter for default "btnet":
set /p SQLUSER=Enter SQL Server username.  Hit enter for default "sa":
set /p SQLPSWD=Enter SQL Server password:
if "%BTNET%"=="" set BTNET=btnet
if "%SQLUSER%"=="" set SQLUSER=sa
@echo on

REM create the iis7 application
C:\Windows\System32\inetsrv\appcmd.exe add app /site.name:"Default Web Site" /path:/%BTNET% /physicalPath:"%CD%\www"
REM create the database
::sqlcmd -S localhost\SQLEXPRESS -Q "create database %BTNET%"
sqlcmd -S . -Q "create database %BTNET%"
REM create the tables
::sqlcmd -S localhost\SQLEXPRESS -d %BTNET% -i "%CD%\www\setup.sql"
sqlcmd -S . -d %BTNET% -i "%CD%\www\setup.sql"
REM modify Web.config
powershell "$hostname = hostname; Get-Content %CD%\www\Web.config | ForEach-Object {$_ -replace '127.0.0.1', $hostname } | ForEach-Object {$_ -replace 'database=btnet', 'database=%BTNET%' } | ForEach-Object {$_ -replace 'user id=sa;password=x', 'user id=%SQLUSER%;password=%SQLPSWD%' }  | Set-Content %CD%\www\Web.config2; Move-Item %CD%\www\Web.config %CD%\www\Web.config.$(Get-Date -Format 'yyyyMMdd_HHmmss').bak"
::del %CD%\www\Web.config
rename %CD%\www\Web.config2 Web.config
REM if all goes well, show the web page.
start http://localhost/%BTNET%
复制代码

 

 

rem 删除站点
C:\Windows\System32\inetsrv\appcmd.exe delete app /app.name:"Default Web Site/%BTNET%"

rem 删除数据库
sqlcmd -S . -Q "alter database %BTNET% set single_user with rollback immediate;drop database %BTNET%"

 

posted on   jack_Meng  阅读(357)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2018-04-19 树莓派挂载和卸载U盘或移动硬盘

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

支付宝打赏

主题色彩