【发布时间】:2019-09-27 18:52:11
【问题描述】:
我希望能够从 bat 文件创建 *.rdp 文件,但是我刚刚注意到 rdp 文件实际上编码为 USC-2 LE BOM,而我的 bat 正在生成 UTF-8 文件,这就是我所做的:
@echo off
> file.rdp (
echo screen mode id:i:2
... bunch of echoes
echo lastparam:: )
这会产生我预期的结果,但编码为UTF-8,有没有办法:
- 创建一个文件,设置它的编码,然后追加到它上面?
- 将
>编码为USC-2 LE BOM的输出直接生成到文件中? - 在同一个 bat 文件中将
UTF-8文件编码为USC-2 LE BOM?
我想使用 bat 编写此文件和其他文件,因此我可以为生成的文件设置只读权限,并且想不出任何其他选择。这样,我就可以部署一堆预配置的只读 rdp 文件。
编辑:
感谢 LotPigs answer 和 this underrated answer 我能够使用 powershell 更改编码,想分享我如何能够在批处理中包含 powershell 编码
@echo off
> utf8file ( ... )
ECHO Get-Content utf8file ^> utf16.rdp > powerShellScript.ps1
powershell.exe -ExecutionPolicy Bypass -File powerShellScript.ps1
【问题讨论】:
-
能否创建一个仅包含 BOM 的文件,然后将该文件复制到所需的目标文件并使用
>>附加数据? -
考虑 Powershell?
-
@Magoo 不工作,
>>吐出 UTF-8 数据,因此文件以大量乱码结束,主要是中文字符
标签: batch-file unicode encoding