如何用PowerShell创建含指定内容的vars.properties文件?
PowerShell创建vars.properties文件及Groovy提取数据方案
一、PowerShell创建vars.properties文件
方式1:一次性写入内容(推荐)
使用Here-String结合Set-Content命令,直接生成目标文件:
@" username=abcd buildnumber=1234 isSuccess=true "@ | Set-Content -Path "vars.properties" -Encoding UTF8
-Encoding UTF8确保文件编码兼容,避免后续Groovy读取时出现乱码问题。- 若需指定绝对路径,将
"vars.properties"替换为完整路径,比如"C:\projects\vars.properties"。
方式2:逐行追加写入
适合需要动态添加内容的场景:
# 强制创建空文件(若已存在则覆盖) New-Item -Path "vars.properties" -ItemType File -Force # 逐行写入内容 Add-Content -Path "vars.properties" -Value "username=abcd" Add-Content -Path "vars.properties" -Value "buildnumber=1234" Add-Content -Path "vars.properties" -Value "isSuccess=true"
二、Groovy提取properties文件数据
Groovy原生支持Properties类,能便捷解析键值对格式的文件:
基础实现
// 加载properties文件 def props = new Properties() new File("vars.properties").withInputStream { stream -> props.load(stream) } // 提取并转换数据 def username = props.getProperty("username") def buildNumber = props.getProperty("buildnumber") // 将字符串"true"/"false"转为布尔值 def isSuccess = props.getProperty("isSuccess").toBoolean() // 验证输出 println "Username: $username" println "Build Number: $buildNumber" println "Is Success: $isSuccess"
简化写法(Groovy风格)
利用Groovy的闭包特性简化代码:
def props = new File("vars.properties").withReader { reader -> new Properties().load(reader) } // 直接通过键名取值 def username = props["username"] def buildNumber = props["buildnumber"] def isSuccess = props["isSuccess"].toBoolean()
注意事项
- 若文件不在Groovy脚本的当前工作目录,需使用绝对路径,比如
new File("C:\projects\vars.properties")。 - 若键不存在,
getProperty()会返回null,可以添加默认值,比如props.getProperty("username", "defaultUser")。
内容的提问来源于stack exchange,提问作者reachit
相关产品推荐
相关产品推荐

