gpt4 book ai didi

powershell - 如何摆脱 PowerShell 的编码 hell ?

转载 作者:行者123 更新时间:2023-12-05 04:12:23 26 4
gpt4 key购买 nike

> cat .\foo.txt
abc

> cat .\foo.txt | md5sum
c13b6afecf97ea6b38d21a8f5167fa1e *-

> md5sum foo.txt
b79545611b3be30f90a0d21ef69bca82 *foo.txt

catmd5sum 是 unix 端口(来自 Windows Git 发行版)。

这是我的真实用例的玩具示例,它是将二进制数据管道传输到我无法更改的遗留 python 脚本。由于管道进行编码,二进制文件已损坏。

我尝试更改 $OutputEncoding[Console]::OutputEncoding 并使用 chcp,但都没有帮助(但也许我做得不对,这一切都非常令人费解......)。

PowerShell's pipe adds linefeed 中的实用程序对我不起作用,因为它处理流程参数的方式(我需要将一些参数传递给遗留脚本并且需要引用一些参数,但该实用程序接受所有参数作为一个字符串)

我以某种方式告诉 powershell 完全关闭编码并仅作为 unix/cmd 运行的最佳解决方案。

最佳答案

除了使用 cmd 来运行包括管道在内的命令外,别无他法:

cmd /c cat.exe .\foo.txt "|" md5sum

请注意管道字符被引号括起来,因此它由 cmd 而不是 powershell 解释。

关于powershell - 如何摆脱 PowerShell 的编码 hell ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40479515/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com