windows bat脚本编写_Zabbix_server执行window脚本出现中文乱码如何解决

场景分析:

1. A企业员工啊旺在zabbix_server上,执行了一个通过agent调用远程window主机脚本的操作,但是由于该脚本的输出结果带有中文,啊旺在zabbix_server的界面看到的内容是一串乱码字符,他根本不知道远程脚本是否执行成功。于是他想把脚本的输出结果改成英文提示success或者error。但由于该脚本不是由啊旺编写的。所以他不知道应该修改脚本的那个位置,才能使显示为英文。因此,本文的目的就是为了解决,zabbix_server调用window的远程脚本带有中文的显示乱码问题。

第一步:编写一个window上输出中文的bat脚本

5aab3585fd03ce20ee904f82caab6367.png

在window服务器上执行bat脚本是否可以输出结果

300fbf1f56d9041c3f3fbc23f88ed995.png

Window主机上执行bat脚本,结果正常输出。

第二步:在zabbix_server上创键执行该文件的脚本

9fe3ef9d6d9a520e37acd242036e29f5.png

因为该脚本是window上的脚本,所以要选择执行在zabbix客户端

b68f75f2265afa15d3324456f9614c6a.png

在脚本存放的主机上执行该脚本

17ff3a22a9e06dfad69bdc6c8512f4a9.png

40be5dd58ec8b19bf74b6cf21c8cd390.png

执行后的结果,如下图,中文显示乱码,数字显示正常(英文也显示正常)

95ee41d3506eceac5d5d4bad2cda9853.png

第三步:编写转码的bat脚本实现,中文的正常输出

文件的路径要用绝对值,否则调用的时候会出现报错

92ebf129048cef537a0ea8890b396ee3.png

第一行:把test.bat脚本执行结果的内容输出到1.txt文件

第二行,把test.txt这个文件转码为utf8的格式

(注意,第二行,源文件名不能和转码后的名字一样,否则会使转码后的文件为空)

即不能使用powershell -c "Get-Content F:桌面C盘1.txt|Out-File -Encoding utf8 F:桌面C盘1.txt"

第三行是查看test.bat脚本执行的就够

第四,五行删除刚才生成的文件

重新修改执行window脚本

3e35700fb14cc8e297c233b5183cef65.png

b8b46d74c19636676142ae3ea16418fd.png

Ok,大功告成。中文显示正常

技术交流欢迎加入Q群:177428068

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值