作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下代码:
$databaseContents = "col1,col2,col3,col4"
$theDatabaseFile = "C:\NewFolder\Database.csv
$databaseContents | Out-File $theDatabaseFile
Out-File
commandlet 将其保存为 .csv 文件,内容如预期的在 4 列中?
Set-Content
而不是 Out-File
,csv 文件随后会在 Excel 中正确显示。最佳答案
为什么它对 Excel 有影响我不清楚,但归结为结果输出文件的编码 - Unicode(在不起作用的情况下)与 ASCII(在起作用的情况下)。
@JPBlanc 的替代方法有效,因为它将输出文件的编码设置为 ASCII,其中您的原始示例(隐式)将输出文件的编码设置为 Unicode。
只需添加 -Encoding ascii
你原来的例子也很好用:
$databaseContents = "col1,col2,col3,col4"
$theDatabaseFile = "C:\NewFolder\Database.csv
$databaseContents | Out-File $theDatabaseFile -Encoding ascii
-Encoding unicode
对您的原始示例产生与您遇到的相同的损坏结果:
$databaseContents = "col1,col2,col3,col4"
$theDatabaseFile = "C:\NewFolder\Database.csv
$databaseContents | Out-File $theDatabaseFile -Encoding unicode
关于Powershell 输出文件不适用于 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23862028/
我是一名优秀的程序员,十分优秀!