如何判断windows版本?

2017年6月20日 21:48

 
windows版本名称太多,怎么通过版本号,取得对应的版本名称?
 
  • 版本号与市场名称的关系
在微软与IBM分家的时候Windows操作系统改名叫做Windows NT,第一个版本是Windows NT 3.1。
后来由于市场需要,在每次发布Windows之前,都会给Windows NT取个别名
也就是xp、win7、win8。例如下面的Version 10.0.14393,其实是Windows NT的版本号。
 
只要清楚NT版本号与名称的映射关系,就可以通过版本号得到名称
 
  • 获取版本号(powershell)
PS C:\Users\wyq> Get-WmiObject Win32_OperatingSystem

SystemDirectory : C:\WINDOWS\system32
Organization    :
BuildNumber     : 14393
RegisteredUser  : wyq
SerialNumber    : 00330-80000-00000-AA130
Version         : 10.0.14393
  • 映射关系
Windows NT 3.1    Windows NT 3.1
Windows NT 3.5    Windows NT 3.5
Windows NT 3.51   Windows NT 3.51
Windows NT 4.0    Windows NT 4.0
Windows NT 5.0    Windows 2000
Windows NT 5.1    Windows xp
Windows NT 5.2    Windows xp、Windows Server 2003、Wwindows Server 2003 R2
Windows NT 6.0    Windows Vista、Windows Server 2008
Windows NT 6.1    Windows 7、Windows Server 2008 R2
Windows NT 6.2    Windows 8、Windows Phone 8、Windows Server 2012
Windows NT 6.3    Windows Phone 8.1、Windows Server 2012 R2
Windows NT 6.4    Windows 10(技术预览版)
Windows NT 10.0   Windows 10
对照映射表,10.0.14393就是Windows 10
 
此生必看的科学实验-水知道答案
精神病为什么治不好
百病之源
净土大经科注2014

 

Tags: powershell windows
评论(0) 阅读(508)

windows的grep命令Select-String

2017年6月18日 10:53

 
喜欢用linux的grep命令查找文件内容,用起来很方便,windos是否也有grep命令呢?
 
在powershell中,提供了Select-String命令搜索文件内容
  • 通常用法
select-string -Pattern "Keyword"  -Path *.log
select-string "Error" *.log
  • 忽略大小写
select-string "Error" *.log -casesensitive
  • 多个关键词
select-string keyword1,keyword2 *.log
  • 递归查找
Get-ChildItem -include *.log -recurse |select-string keyword
 
此生必看的科学实验
精神病为什么治不好(上集)
百病之源(上集)
净土大经科注2014

 

评论(0) 阅读(475)

wmi接口如何通过Win32_Volume类修改盘符

2017年6月18日 10:06

想要通过wmi接口修改windows盘符,该如何实现呢?wmi提供了Win32_Volume类,通过该类可以修改盘符。
 
  • python脚本
import wmi
_root_conn = wmi.WMI(privileges=["Shutdown"])
query_str = "select * from Win32_Volume where DeviceID like '%%%s%%'" % volume_id
volume = _root_conn.query(query_str)[0]
volume.DriveLetter = "M:"
volume.put()
 
  • powershell脚本
$Drive = Get-WmiObject win32_volume -Filter "Label = 'xxxx'"
$Drive.DriveLetter = "m:"
$Drive.put()

 

Tags: wmi
评论(0) 阅读(445)

净土大经科注2014百度网盘地址

2017年4月22日 12:24

百度网盘地址

http://pan.baidu.com/s/1gfaHvwv

 

 

Tags: 净空法师
评论(0) 阅读(670)

subprocess.Popen(cmd)包含中文怎么办

2017年4月22日 12:22

在windows中通过subprocess调用cmd命令行,命令中包含中文是很令人头痛的事。
由于cmd控制台用的是gbk编码,而python用的是utf-8。utf-8的字符串,在gbk编码的控制台上运行,当然会运行不了。
假如再要你兼容繁体版的windows,此时更麻烦了。还好python提供了本地化接口
 
  • 本地化
>>> import locale
>>> locale.getdefaultlocale()
('zh_CN', 'cp936')
 
  • 示例
import locale
cmd = cmd.encode(locale.getdefaultlocale()[1])
subprocess.Popen(cmd)
 
净土大经科注2014 百度网盘地址

http://pan.baidu.com/s/1gfaHvwv

评论(0) 阅读(687)

查看windows磁盘剩余空间

2017年4月17日 22:57

  • 在powershell中运行Get-Volume
PS C:\Users\Administrator> Get-Volume

DriveLetter FileSystemLabel FileSystem DriveType HealthStatus OperationalStatus SizeRemaining      Size
----------- --------------- ---------- --------- ------------ ----------------- -------------      ----
G                           NTFS       Fixed     Healthy      OK                    320.86 GB 372.61 GB
            系统保留        NTFS       Fixed     Healthy      OK                    301.87 MB    350 MB
C                           NTFS       Fixed     Healthy      OK                    881.36 GB 931.17 GB
                            NTFS       Fixed     Healthy      OK                    931.31 GB 931.51 GB

 

Tags: hyper-v windows volume
评论(0) 阅读(503)

python获取自己的路径

2017年4月17日 22:51

exe路径

>>> sys.executable
'C:\\Python27\\python.exe'

lib路径

>>> sys.prefix
'C:\\python27'

 

评论(0) 阅读(397)

windows命令查看软件安装情况

2017年4月09日 14:07

在windows上,可以通过控制面板,查看软件安装情况。那么除此之外还有其它方法吗?
 
  • powershell命令
PS C:\Users\wyq> Get-WmiObject -class Win32_Product |Select-Object -Property name,version

name                                                                                                 version
----                                                                                                 -------
Microsoft Visual C++ Compiler Package for Python 2.7                                                 9.0.1.30729
Microsoft .NET Framework 4.5.1 Multi-Targeting Pack                                                  4.5.50932
Microsoft Visual C++  x64-x86 Cross Compilers - CHS Resources                                        12.0.21005
Microsoft SQL Server 2012 T-SQL Language Service                                                     11.1.3000.0
....
 

Tags: powershell windows
评论(0) 阅读(459)

windows上subprocess.Popen的参数close_fds=True与管道不能共存

2017年3月21日 21:46

  • 运行命令
subprocess.Popen(cmd, close_fds=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
 
  • 出现错误
ValueError: close_fds is not supported on Windows platforms if you redirect stdin/stdout/stderr
 
  • 原因
在windows上subprocess.Popen的参数close_fds=True与stdin/stdout/stderr不能共存
  1. close_fds=True表示子进程将不会继承父进程的输入、输出、错误管道。
  2. windows上不能将close_fds设置为True同时重定向子进程的标准输入、输出与错误(stdin, stdout, stderr)
 

评论(0) 阅读(701)

hyper-v查看虚拟机启动顺序

2017年2月02日 21:56

PS C:\> get-vm 虚拟机名称 |get-vmbios
VMName            StartupOrder                            NumLockEnabled
------            ------------                            --------------
虚拟机名称        {CD, IDE, Floppy, LegacyNetworkAdapter} False

Tags: powershell
评论(0) 阅读(589)