我正在尝试使用2goarray将 .ico 文件写入 go 文件,以便我可以在systray中使用它。我的问题是这适用于cmd:TYPE icon.ico | 2goarray Data icon > icon.go但在 powershell 中运行等效命令不会:Get-Content .\icon.ico | 2goarray Data icon | Out-File -FilePath .\icon.go -Encoding UTF8当我说它不起作用时,我并不是说发生错误,我的意思是 2goarray 生成的数组不正确,它包含 systray 无法识别为图标的数据。作为参考,这是工作 icon.go,这是由 powershell 产生的损坏/损坏的,这是我正在使用的图标。我怀疑这与powershell将事物作为对象传递的方式有关,但我不确定?
1 回答
![?](http://img1.sycdn.imooc.com/54584d9f0001043b02200220-100-100.jpg)
catspeake
TA贡献1111条经验 获得超0个赞
您面临的挑战是在 PowerShell 中传输二进制数据,这并不是那么简单。我用这个命令测试了你的例子,我得到了“工作”的 icon.go:
Start-Process 2goarray -ArgumentList "Data icon" -RedirectStandardInput .\icon.ico -RedirectStandardOutput .\icon.go
但是与cmd相比,这个解决方案似乎相当慢。如果您愿意,您也可以从 PowerShell 中随时调用 cmd ,这对于您的示例来说速度惊人地快:
Start-Process cmd -ArgumentList "/c TYPE icon.ico | 2goarray Data icon > icon.go"
通常,从 PowerShell 调用 cmd 是一个糟糕的设计,因为 PowerShell 几乎可以完成 cmd 可以做的所有事情,而且通常更多,但对于您的示例,这似乎是更好的解决方案。
- 1 回答
- 0 关注
- 224 浏览
添加回答
举报
0/150
提交
取消