gpt4 book ai didi

powershell - 使用Powershell进行编辑时Mirth属性文件损坏

转载 作者:行者123 更新时间:2023-12-03 00:55:49 26 4
gpt4 key购买 nike

我正在尝试编辑Mirth属性文件,以使用Powershell添加Microsoft sql服务器驱动程序url和类名。我可以编辑和保存。在编辑后启动Mirth服务时,Mirth属性文件已损坏。但是我同时检查了原始内容和编辑后的内容。除添加的更改外,其他所有内容都相同,并且文件大小从5kb增加到10kb。谁能帮我吗?这是powershell脚本。

$server="Localhost"
$PropertyfilePath = "C:\Program Files\Mirth Connect\conf\mirth.properties"
$connectionString = "jdbc:sqlserver://$($server):1433;instanceName=$($server);databaseName=Mydb;integratedSecurity=true"
$driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
$data= @()
Copy-Item $PropertyfilePath "D:\Mirthbackup" -force
$newstreamreader = New-Object System.IO.StreamReader($PropertyfilePath)
[int]$eachlinenumber = 1
while (($readeachline = $newstreamreader.ReadLine()) -ne $null)
{
if($readeachline.Contains("= derby")){

$readeachline.Remove(0)
$update= "database = sqlserver"
$data +=$update
$eachlinenumber++
}
elseif($readeachline.Contains("database.url"))
{

$update=$readeachline.Substring(0,12)+" = "+$connectionString
$data +=$update
$eachlinenumber++

}
elseif($readeachline.Contains(".driver"))
{
$readeachline.Remove(0)
$update ="database.driver = "+$driverName
$data +=$update
$eachlinenumber++

}
else{

$data +=$readeachline
$eachlinenumber++
}
}
$newstreamreader.Dispose()

$data | Out-File -FilePath $PropertyfilePath

最佳答案

您的属性文件应采用ISO-8859-1(latin1)编码。
尝试将您的代码更改为:

$server="Localhost"
$PropertyfilePath = "C:\Program Files\Mirth Connect\conf\mirth.properties"
$connectionString = "jdbc:sqlserver://$($server):1433;instanceName=$($server);databaseName=Mydb;integratedSecurity=true"
$driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
$data= @()
Copy-Item $PropertyfilePath "D:\Mirthbackup" -force
$encoding = [System.Text.Encoding]::GetEncoding('iso-8859-1'))
$newstreamreader = New-Object System.IO.StreamReader($PropertyfilePath, $encoding)
[int]$eachlinenumber = 1
while (($readeachline = $newstreamreader.ReadLine()) -ne $null)
{
# if statements left out
}
$newstreamreader.Dispose()

[System.IO.File]::WriteAllLines($PropertyfilePath,$data, $encoding)

关于powershell - 使用Powershell进行编辑时Mirth属性文件损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64102205/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com