我有一个批处理代码正在工作,除了它返回:Belgi‰在某些时候。 所以当我合并这些结果时,我想将其改为België:
CODE:
@echo off
systeminfo > Test2.txt
echo Please don't close the window, the program is still running...
findstr /C:"Host-naam:" /C:"Naam van besturingssysteem:" /C:"Geregistreerde eigenaar:" /C:"Product-id:" /C:"Computermodel:" /C:"Computerfabrikant:" /C:"Type systeem:" /C:"Systeeminstellingen:" /C:"Landinstellingen voor invoer:" /C:"Totaal fysiek geheugen:" Test2.txt >> Test1.txt
echo This is the IPv4 adress: >> Test1.txt
ipconfig | findstr /R /C:"IPv4" >> Test1.txt
echo: >> Test1.txt
echo This is the IPv6 adress: >> Test1.txt
ipconfig | findstr /R /C:"IPv6" >> Test1.txt
DEL Test2.txt
EXIT
所以现在它会在某个时刻返回:
Systeeminstellingen: nl-be;Nederlands (Belgi‰)
Landinstellingen voor invoer: nl-be;Nederlands (Belgi‰)
我希望它回馈:
Systeeminstellingen: nl-be;Nederlands (België)
Landinstellingen voor invoer: nl-be;Nederlands (België)
提前致谢
EDIT1: 我尝试在systeminfo>上面添加 chcp 1252 ......感谢你的帮助,它起作用了。
EDIT2: 我刚刚看到我得到他的IPv6地址输出,我想摆脱%14和%11以及其他可能获得%...的地址。 我怎么能这样做?
Link-local IPv6-adres . . . . . . : fe80::1191:e4de:e3e9:277%14
Link-local IPv6-adres . . . . . . : fe80::e400:4433:12c3:2001%11
EDIT3: 所以似乎有一些代码可以删除IPv6地址上的%符号。但是以下情况不起作用。
ipconfig | findstr /R /C:"IPv6" | findstr /v /r "%[0-9]" >> Test1.txt
答案 0 :(得分:1)
在批处理文件的开头添加chcp 1252
会更改代码页
所以现在输出的格式正确(ANSI)。
2部分:
%
是地址范围
阅读Why is there a percent sign '%' in the IPv6 address?
答案 1 :(得分:0)
如果在文本编辑器中打开Test1.txt,则显示错误的输出,或者仅当您通过"键入Test1.txt"或者"更多Test1.txt"从命令行?非ASCII字符通常在cmd.exe中不能很好地显示。您可以使用" chcp"更改代码页。命令到65001( chcp 65001 )以支持unicode,但它会导致其他问题(例如, more 命令无法正常工作)。