如何使用PowerShell替换JS文件中window.app_version变量的值
使用PowerShell替换env.js中window.app_version值的方法
实现逻辑:通过正则精准匹配window.app_version对应的赋值行,仅替换双引号包裹的版本值部分,不会改动文件内其他配置项,完全适配不能使用占位符的场景。
完整可直接使用的脚本
# 1. 配置env.js文件的完整路径和需要替换的新版本号 $jsFilePath = "C:\项目路径\env.js" $newVersion = "Release-20240601.2" # 2. 执行替换,直接覆盖原文件 (Get-Content $jsFilePath -Raw) -replace '(window\.app_version\s*=\s*")[^"]+(")', "`$1$newVersion`$2" | Set-Content $jsFilePath -Encoding UTF8
关键说明
- 匹配正则兼容等号前后任意空格的场景,不会误匹配其他变量,也不会改动行内其他格式
- 脚本默认用UTF8编码保存文件,如果前端项目要求无BOM编码,可将
-Encoding UTF8修改为-Encoding UTF8NoBOM - 如需备份原文件,可在执行替换前新增一行:
Copy-Item $jsFilePath "$jsFilePath.bak",会自动在同目录生成后缀为.bak的原文件备份
验证替换结果
执行完脚本后可运行以下命令确认修改是否生效:
Get-Content $jsFilePath | Select-String "window.app_version"
输出内容如果为window.app_version = "你设置的新版本号";即为替换成功。
内容的提问来源于stack exchange,提问作者MuhammadSannan
相关产品推荐
相关产品推荐

