我正在嘗試使用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當(dāng)我說它不起作用時,我并不是說發(fā)生錯誤,我的意思是 2goarray 生成的數(shù)組不正確,它包含 systray 無法識別為圖標(biāo)的數(shù)據(jù)。作為參考,這是工作 icon.go,這是由 powershell 產(chǎn)生的損壞/損壞的,這是我正在使用的圖標(biāo)。我懷疑這與powershell將事物作為對象傳遞的方式有關(guān),但我不確定?
1 回答

catspeake
TA貢獻1111條經(jīng)驗 獲得超0個贊
您面臨的挑戰(zhàn)是在 PowerShell 中傳輸二進制數(shù)據(jù),這并不是那么簡單。我用這個命令測試了你的例子,我得到了“工作”的 icon.go:
Start-Process 2goarray -ArgumentList "Data icon" -RedirectStandardInput .\icon.ico -RedirectStandardOutput .\icon.go
但是與cmd相比,這個解決方案似乎相當(dāng)慢。如果您愿意,您也可以從 PowerShell 中隨時調(diào)用 cmd ,這對于您的示例來說速度驚人地快:
Start-Process cmd -ArgumentList "/c TYPE icon.ico | 2goarray Data icon > icon.go"
通常,從 PowerShell 調(diào)用 cmd 是一個糟糕的設(shè)計,因為 PowerShell 幾乎可以完成 cmd 可以做的所有事情,而且通常更多,但對于您的示例,這似乎是更好的解決方案。
- 1 回答
- 0 關(guān)注
- 271 瀏覽
添加回答
舉報
0/150
提交
取消