Ipconfig output is ANSI, wmic is unicode
If you output wmic before ipconfig, when readed it is considered unicode, as the start or the file is it. And output of ipconfig is garbage as there is no double byte characters.
If ipconfig is used before wmic, file is considered ansi and output of wmic is space separated
Use find to filter and reencode to ansi
wmic bios get serialnumber | find /v "" >> "C:\%computername%-info.txt"
So all command output is ansi