使用 python 和 .bat 文件获取计算机序列号
Getting computer serial number with python and .bat file
最近在备考,看的课本上说获取电脑序列号的命令(CMD)如下-(作为打击盗版的一种方法)
wmic bios get serialnumber
我决定自己尝试使用 python,我想获取我自己计算机的序列号,我创建了一个批处理文件 (.bat) 并将序列号记录到一个 txt 文件中我想我可以在 python 中阅读它,如果有的话,这会产生更多问题......这是我目前拥有的代码:
SerialNumber.bat(顺便说一句,bat 文件的新手)
SET num=wmic bios get serialnumber
%num% > serial.txt
serial.txt 的样子(稍作修改以免泄露我的序列号)
Readtxt.py
# Trying to read in two different ways
with open("serial.txt", "r") as file:
print(file.read())
lines = []
for line in open("serial.txt"):
lines.append(line)
print(lines)
输出:(不再显示完整图像)
问题是:
- 如何将序列号存储为字符串?
- 为什么我使用的每种不同的阅读方法提供不同的输出?
感谢任何答案:)
当重定向到一个文件时,wmic 写入带有 BOM 的 UTF-16-LE
> wmic bios get serialnumber >serial.txt
> hex.exe serial.txt
HEX: +00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 0123456789abcdef
0000000000: FF FE 53 00 65 00 72 00 69 00 61 00 6C 00 4E 00 .■S.e.r.i.a.l.N.
0000000010: 75 00 6D 00 62 00 65 00 72 00 20 00 20 00 0D 00 u.m.b.e.r. . ...
> type readtext.py
with open("serial.txt", 'rb') as file:
print(file.read().decode('utf-16'))
> py readtext.py
SerialNumber
5xxxxyyyy
最近在备考,看的课本上说获取电脑序列号的命令(CMD)如下-(作为打击盗版的一种方法)
wmic bios get serialnumber
我决定自己尝试使用 python,我想获取我自己计算机的序列号,我创建了一个批处理文件 (.bat) 并将序列号记录到一个 txt 文件中我想我可以在 python 中阅读它,如果有的话,这会产生更多问题......这是我目前拥有的代码:
SerialNumber.bat(顺便说一句,bat 文件的新手)
SET num=wmic bios get serialnumber
%num% > serial.txt
serial.txt 的样子(稍作修改以免泄露我的序列号)
Readtxt.py
# Trying to read in two different ways
with open("serial.txt", "r") as file:
print(file.read())
lines = []
for line in open("serial.txt"):
lines.append(line)
print(lines)
输出:(不再显示完整图像)
问题是:
- 如何将序列号存储为字符串?
- 为什么我使用的每种不同的阅读方法提供不同的输出?
感谢任何答案:)
当重定向到一个文件时,wmic 写入带有 BOM 的 UTF-16-LE
> wmic bios get serialnumber >serial.txt
> hex.exe serial.txt
HEX: +00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 0123456789abcdef
0000000000: FF FE 53 00 65 00 72 00 69 00 61 00 6C 00 4E 00 .■S.e.r.i.a.l.N.
0000000010: 75 00 6D 00 62 00 65 00 72 00 20 00 20 00 0D 00 u.m.b.e.r. . ...
> type readtext.py
with open("serial.txt", 'rb') as file:
print(file.read().decode('utf-16'))
> py readtext.py
SerialNumber
5xxxxyyyy