结合Tee-object和$(Get-Date)的奇怪输出

时间:2013-09-05 18:00:47

标签: powershell powershell-v2.0 powershell-v3.0

我正在尝试将输出附加到.txt文件。我的命令如下:

ni C:\example\example.txt -type file -value "`n$(Get-Date)"|out-null
$CSVvariable | sort Property | Format-Table | Tee-Object -Append -FilePath C:\example\example.txt

当我运行命令时,我在.txt文件中得到以下输出:

“⼹㔰㈯㄰”㤱㐺㨹 (表格正确显示。)

$(Get-Date)似乎成了上面的符号。任何人都知道为什么?

提前致谢。

2 个答案:

答案 0 :(得分:2)

你真的不想在这样的管道中使用format-tableformat-table的输出是主机解释的“格式化对象”的集合,并且几乎是不可理解的。我最后一次检查,他们甚至没有记录好。

如果您真的想要表格格式化,可以尝试在out-string之前将tee-object添加到管道,但此时您将拥有一组字符串,而不是“对象”。< / p>

这是一个单独的问题,为什么你有奇怪的字符,但我会尝试删除格式表,看看文件的外观。

答案 1 :(得分:0)

你的CultuerInfo是什么?

([System.Threading.Thread]::CurrentThread.CurrentCulture).DateTimeFormat

似乎它可能被设置为en-US以外的其他东西。