问题描述:userdata windows中文乱码
解决办法:把代码写到文件里,执行文件,不要直接铺开代码
处理方法:
参考文档+录屏
文档:https://cloud.tencent.com/developer/article/2285114
录屏:https://cloud.tencent.com/developer/video/78850
方案具有通用性,兼容阿里云、腾讯云等使用cloudinit那一套的userdata
示例:
#ps1
wget http://windows-1251783334.cos.ap-shanghai.myqcloud.com/115.159.148.149/ceshi1.bat -Outfile c:\ceshi1.bat
cmd.exe /c c:\ceshi1.bat >> c:\init.log 2>&1
#ps1
wget http://windows-1251783334.cos.ap-shanghai.myqcloud.com/115.159.148.149/ceshi2.bat -Outfile c:\ceshi2.bat
cmd.exe /c c:\ceshi2.bat >> c:\init.log 2>&1
如果要重定向一个含有中文的bat,在userdata里只能用powershell unicode重定向
然后cmd.exe /c bat文件的绝对路径来执行
如果已经提前把含有中文的bat文件放在网上了,就省了重定向的麻烦,直接下载下来后cmd.exe /c bat文件的绝对路径来执行即可
我平时都是放在cos里,下载后来用
很少直接在userdata里重定向生成一个.bat文件来用,这样太麻烦了
#ps1
mkdir C:\scripts -force
del "C:\scripts\SetupComplete.bat" 2>$null
write-host > C:\scripts\SetupComplete.bat
$chinese = [char]0x4EE5 + [char]0x592A + [char]0x7F51
$command = "$chinese 2>&1 > nul"
$command | Out-File -Append C:\scripts\SetupComplete.bat -encoding utf8
write-host > C:\SetupComplete.bat
"以太网 2>&1 > nul" | Out-File -Append C:\SetupComplete.bat -encoding ascii
exit
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。