bat 文件修改 web.config 设置

2024-04-30

我在 Visual Studio 2013 中创建了一个 Web 应用程序。我的 Web.Config 文件中有此 appSetting:

<add key="cloudVersion" value="@@NEW@@"/>

发布应用程序后,我运行一个bat文件,该文件复制发布的目录,将今天的日期附加到目录名称,压缩更新的目录,并将其上传到Google驱动器,以便我的团队的其他成员可以访问它。

我正在尝试使用相同的bat文件来修改云版本设置,以便我们可以看到它何时从应用程序内发布。我有这个代码:

@echo off &setlocal
set "search=@@NEW@@"
set "replace=%yy%%mm%%dd%"
(for /f "delims=" %%i in ('findstr /n "^" "%""C:\original files\Web.config""%"') do (
    set "line=%%i"
    setlocal enabledelayedexpansion
    set "line=!line:%search%=%replace%!"
    echo(!line!
    endlocal
))>"%""C:\Publish Folder\CLOUD"%yy%.%mm%.%dd%"\Web.Config""%"
type "%""C:\Publish Folder\CLOUD"%yy%.%mm%.%dd%"\Web.Config""%"

它正确复制 Web.Config 文件并替换云版本变量值。但是,整个文件现在每行的编号如下:

23:  </system.web.extensions>
24:  <appSettings>
25:    <add key="cloudVersion" value="20140818"/>

如何使用 bat 更新值,但不获取稍后必须删除的编号行?


如果有人在看,这就是我所做的:

@echo off &setlocal
set "search=@@NEW@@"
set "replace=%yy%%mm%%dd%"
(for /f "delims=" %%i in ('findstr "^" "%""C:\original files\Web.config""%"') do (
    set "line=%%i"
    setlocal enabledelayedexpansion
    set "line=!line:%search%=%replace%!"
    echo(!line!
    endlocal
))>"%""C:\Publish Folder\CLOUD"%yy%.%mm%.%dd%"\Web.Config""%"
type "%""C:\Publish Folder\CLOUD"%yy%.%mm%.%dd%"\Web.Config""%"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

bat 文件修改 web.config 设置 的相关文章

随机推荐