powershell - 输出文件和回车
问题描述
如果我有一个程序,例如这个 Go 程序:
package main
import "fmt"
func main() {
fmt.Print("North East\n")
fmt.Print("South West\n")
}
这个程序根本不产生回车,只产生换行符。但是,如果我这样做:
prog.exe > prog.txt
PowerShell 会自行在每一行添加回车符。我只希望 PowerShell 忠实地输出我的程序创建的内容,仅此而已。所以我尝试了这个:
prog.exe | Out-File -NoNewline prog.txt
并且 PowerShell 没有添加回车符,但它也继续删除了换行符。我该如何做我想做的事?更新:根据答案,这似乎可以做到:
start -rso prog.txt prog.exe
解决方案
这似乎是由于重定向输出的行为。它在检测到换行符的地方被分成单独的行,但是当 Powershell 再次加入这些行时,它将同时使用换行符和回车符(Windows 默认)。
不过,如果您直接重定向输出,这应该不是问题。所以这应该会给你预期的行为:
Start-Process prog.exe -RedirectStandardOutput prog.txt
推荐阅读
- apache-kafka - 如何使用spring boot在kafka中将文件从生产者发送到消费者?
- python - PDF 矿工,坏新行检测
- html - HTML以错误的顺序显示特殊字符
- python - 如何交互从数据库接收的数据?
- regex - Clojure RegEx:如何在正则表达式中嵌入注释?
- java - 如何在swing(核心java)中将dd-mmm-yyyy格式转换为dd-mm-yyyy格式?
- python - 如何加入两个 Spark DataFrame 并操作它们的 share 列?
- javascript - Highchart 的错误:Uncaught SyntaxError: Unexpected token for
- angular - 如何从 prod build Angular 的 ngx-build-plus 中排除 Devextreme?
- node.js - 我收到一个在 npm install 期间停止的错误