【发布时间】:2017-05-20 09:24:21
【问题描述】:
我创建了 powershell 脚本来读取 TeamCity 上的一个步骤中的文件。 如果我在 Powershell 应用程序中读取文件并放入下一个脚本,它可以正常工作,但是当在运行器类型“PowerShell”的步骤中执行该文件时,编码不起作用并且某些字符没有编码(如“áãéí”等)
$userDocuments = [environment]::getfolderpath("mydocuments")
$file= "myfile.txt"
$fullPath = Join-Path $userDocuments -ChildPath $file
Get-Content -Encoding UTF8 $fullPath
有人帮帮我吗?
提前致谢
【问题讨论】:
-
我不明白你的问题。
Get-Content -Encoding UTF8通过 UTF8 解码器从磁盘读取数据……然后会发生什么?您的脚本不执行任何其他操作。 Get-Content 的输出去哪里了?áãéí字符出现在哪里? “读取文件然后放置下一个脚本”是什么意思? -
@TessellatingHeckler,如果我在 powershell 中执行脚本,内容是正确的。
-
@TessellatingHeckler 他的 Get-Content 命令的输出被转储到控制台。因为脚本是通过 TeamCity 代理调用的,该代理捕获控制台输出并将其记录并显示在应用程序 GUI 中
-
@Nick 是的,但是 PowerShell 控制台 doesn't support Unicode characters 正确。 “powershell 应用程序”是指 ISE 还是自定义提示符或其他控制台主机?我根本不熟悉 TeamCity,但如果 fipcurren88 真正解释了他们如何设置它以及问题发生在哪里,这对 TeamCity 用户来说可能会更容易发表评论。例如是this problem 吗?信息不足,只能猜测。
标签: powershell encoding teamcity readfile