繁体   English   中英

Powershell设置内容似乎损坏了我的SSIS .dtsx文件

[英]Powershell Set-Content seems to corrupt my SSIS .dtsx files

我已经构建了一个简单的Powershell脚本,该脚本使用get-content / set-content替换了dtsx文件中的xml路径配置。

(Get-Content $file.PSPath) | ForEach-Object {$_ -replace $searchtext , $replacetext} | Set-Content $file.PSPath

当我使用它并尝试从SQL Server代理作业运行程序包时,出现错误消息:

"Unable to load the package as XML because of package does not have a valid XML format."

如果我自己用sublime编辑文件并且不使用脚本就可以了。

替换正在进行中,我使用kdiff比较文件,没有差异。

有任何想法吗?

设置内容默认为ASCII编码。 我想知道文件是否为带有BOM的UTF8。 尝试使用Set-Content $file.PSPath -Enc Utf8 也许是Unicode,在这种情况下,请使用-Encoding Unicode

FWIW这些类型的问题是为什么我将编辑文件添加到PowerShell Community Extensions的原因 使用它可以编辑文件,如下所示:

Edit-File $file.PSPath $searchText $replacementText

并且它处理保留文件的原始编码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM