如何摆脱 PowerShell 的编码地狱?

2024-04-05

> cat .\foo.txt
abc

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

> md5sum foo.txt
b79545611b3be30f90a0d21ef69bca82 *foo.txt

cat and md5sum是 unix 端口(来自 Windows Git 发行版)。

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

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

实用程序在PowerShell管道添加换行 https://stackoverflow.com/questions/28504847/powershells-pipe-adds-linefeed/32981504对我不起作用,因为它处理进程参数的方式(我需要将一些参数传递给遗留脚本,有些需要引用,但该实用程序接受所有参数作为一个字符串)

对我来说,最佳解决方案是告诉 powershell 完全关闭编码并像 unix/cmd 一样运行。


没有办法解决它,除了使用cmd运行包括管道的命令:

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何摆脱 PowerShell 的编码地狱? 的相关文章

随机推荐

  • 收到“线程 1:EXC_BAD_ACCESS”错误?

    我正在使用 WKWebView 和 Swift 语言创建一个简单的 Web 查看器 这是我的代码 import Cocoa import WebKit NSApplicationMain class AppDelegate NSObject
  • NSMutableDictionary 以 UIButton* 作为键 - iPhone 开发

    我是 iPhone 开发新手 我有一个问题 可能有一个非常简单的答案 我正在尝试向视图添加按钮 这些按钮与我定义的自定义类相关联 当我将按钮添加到视图中时 我想知道这些按钮对应什么类 这是因为当我按下按钮时 我需要获取有关该类的一些信息 但
  • VKDefault - 三角器未能完全三角化多边形 MapKit

    我遇到了收到警告的问题 VKDefault Triangulator failed to fully triangulate polygon MapKit放大和缩小地图上的特定区域时 我正在从 json 数据创建多边形 该数据可以包含 MK
  • Scikit-learn 的 LabelBinarizer 与 OneHotEncoder

    两者有什么区别 似乎两者都创建了新列 其数量等于特征中唯一类别的数量 然后 他们根据数据点所属的类别将 0 和 1 分配给数据点 下面显示了使用 LabelEncoder OneHotEncoder LabelBinarizer 对数组进行
  • 如何从数据库中获取可为空的 DateTime

    我的 SQL Server 数据库包含可为空的 DateTime 值 如何将它们转换为 C 应用程序中可为 null 的 DateTime 对象 这就是我认为的样子 但事实并非如此 DateTime dt DateTime sqldatar
  • Android:在异步任务期间处理后退按钮

    我有一个显示列表视图的活动 单击项目时 将启动第二个活动 该活动运行一个 AsyncTask 根据单击的项目获取远程 URL 解析结果 然后将这些结果显示到另一个列表视图中 当异步任务运行时 我有一个 正在加载 视图 仅显示图像和文本 问题
  • 如何检测浏览器是否支持flash?

    我的网站只有两个版本 一种是针对支持 Flash 的设计 如桌面设备 另一种是针对移动设备的设计 我只是想知道我是否可以检测到 如果是真的 支持 他们将保持相同的网站假设是http mywebsite com但链接会显示http myweb
  • Java 浮点意外圆角化

    我正在使用浮点常量并将对象私有浮点变量设置为下面的浮点常量 但是当对象输出它设置的值时 它会四舍五入浮点中的最后一位数字 private final float RF FREQUENCY 956 35625f Object o new Ob
  • 如何检查一个控件是否是另一个控件的子控件? “Control.IsChildOf”

    我有 3 个面板
  • 蜡染:Linux 上的 svg 到 pdf(无 X 服务器)

    类似于中的方法将 SVG 转换为 PDF https stackoverflow com questions 6875807 convert svg to pdfsvg2pdf 转换在 Windows 下成功运行 并且可以在生成的 pdf
  • 如何在 ExtJs 中添加复制到剪贴板功能?

    如何在 ExtJs 中添加复制到剪贴板功能 它在 IE 浏览器中工作正常 但在 Firefox 中不行 还需要进行哪些更改才能使其在 FF 浏览器中工作 Code function selectCopy txt txtId Ext getC
  • 为什么 Android Studio 说“未收到测试事件”?

    我正在尝试在我的 Android 应用程序中进行单元测试 这是我正在做的简单测试教程 import static org junit Assert import org junit Test import org junit runner
  • Linux 下签名的可执行文件

    出于安全原因 最好在执行之前检查代码的完整性 避免软件被篡改由攻击者发起 所以 我的问题是 如何在Linux下对可执行代码进行签名并仅运行受信任的软件 我读过范杜姆的作品et al Linux 签名可执行文件的设计和实现 以及 IBM 的T
  • 带有 COUNT 帮助的 SQL 子查询

    我有一个有效的 SQL 语句 SELECT FROM eventsTable WHERE columnName Business 我想将其添加为子查询 COUNT Business AS row count 我该怎么做呢 这可能是最简单的方
  • Visual Studio Code 像 HTML 一样自动关闭标记和缩进 XML

    我开始使用 Visual Studio Code for HTML 和 CSS 因为在我看来 它似乎是一个不错的编辑器 除了这个小问题 当我开始使用它时 我必须获得一个扩展才能获得自动结束标签 我发现的所有扩展似乎都以相同的方式执行此操作
  • Visual Studio Team Services REST API 的 AJAX 跨域问题

    我正在尝试为 Visual Studio Team Services REST API 编写一个 JavaScript 客户端 该客户端将 AJAX 请求发送到我们自托管的 Team Foundation Server 2015 但我面临跨
  • 状态栏高度始终返回0

    打电话时MediaQuery of context padding top在父小部件中 ProductsOverviewScreen 返回的值符合预期 24 但是当从嵌套小部件调用相同的属性时 ProductsGrid 我们正在谈论的父级的
  • 是否可以使用 Angular 的 $http 服务指定参数顺序?

    在我的 Angular 应用程序中 我有一项服务利用 http从服务器检索数据 服务器端点使用 HMAC 身份验证 并期望查询字符串参数按 URL 上的特定顺序排列 角度排序 http构建 URL 时的参数 https github com
  • Android-使用DexClassLoader加载apk文件

    我碰壁了 任何帮助 将不胜感激 我有一个应用程序 我想使用 DexClassLoader 加载另一个 apk 文件 这是我的代码 DexClassLoader dLoader new DexClassLoader sdcard downlo
  • 如何摆脱 PowerShell 的编码地狱?

    gt cat foo txt abc gt cat foo txt md5sum c13b6afecf97ea6b38d21a8f5167fa1e gt md5sum foo txt b79545611b3be30f90a0d21ef69b