我在PowerShell 4上遇到了一个问题。0 Tee-Object
命令(别名tee
),我使用的命令如下:
powershell "cmd /c dir | Tee-Object -filepath C:\1.txt -Append"
当1.txt是一个空文件时,它会按照您在屏幕上看到的那样写入输出(按原样)。但是,如果1.txt在您运行命令之前有一些现有的内容,它会在输出中添加新行,并且文件看起来完全混乱。
我很惊讶地看到这种行为,任何想法都将帮助我继续前进。请注意,我必须使用Tee-Object命令,因为我希望在运行命令时在屏幕上看到输出,并将其附加到包含某些内容的现有日志文件中。
2条答案
按热度按时间cvxl0en21#
注意Tee-Object用UTF 16 LE编码写,这就是为什么!
xqkwcwgp2#
像out-file -append或“〉〉"一样,tee-object -append可以在同一文件中破坏性地混合不同的编码,并且默认为utf 16,即使文件已经包含ascii字符。
T形连接到变量,并使用add-content附加到文件中。Add-content将检查BOM并匹配编码。