标题: [技术讨论] VBS如何判断C盘是否是SSD? [打印本页]
作者: 9zhmke 时间: 2015-9-20 21:03 标题: VBS如何判断C盘是否是SSD?
查了好多地方都没找到可以判断C盘是否是SSD的方法。
如果实在找不到办法的话,是否可以采用禁止缓存后存取文件测试速度来粗略估计?
作者: czjt1234 时间: 2015-10-10 11:45
intel ssd的硬盘型号
都是带有
intel ssd
字样的
其它牌子的不清楚
作者: 9zhmke 时间: 2015-10-16 00:15
回复 2# czjt1234
如果有通用的办法就好了
作者: 依山居 时间: 2015-10-22 19:55
回复 3# 9zhmke
搜索了一下,好多老外也在问同样问题。
http://stackoverflow.com/questio ... if-a-drive-is-a-ssd
作者: 依山居 时间: 2015-10-22 20:16
我用HDTunePro看了一下。有一项信息是硬盘转速。SSD转速为0,如果能读到这个信息。不为0。那应该可以解释问题了了。
作者: 依山居 时间: 2015-10-22 20:29
本帖最后由 依山居 于 2015-10-22 20:40 编辑
找到一个命令工具smartctl
http://sourceforge.net/projects/smartmontools/?source=directory
c:\>smartctl -i sda
smartctl 6.4 2015-06-04 r4109 [x86_64-w64-mingw32-win7-sp1] (sf-6.4-1)
Copyright (C) 2002-15, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: HGST Travelstar 5K1000
User Capacity: 1,000,204,886,016 bytes [1.00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: 5400 rpm
Form Factor: 2.5 inches
Device is: In smartctl database [for details use: -P show]
ATA Version is: ATA8-ACS T13/1699-D revision 6
SATA Version is: SATA 2.6, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is: Thu Oct 22 20:27:40 2015
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
c:\>smartctl -i sdb
smartctl 6.4 2015-06-04 r4109 [x86_64-w64-mingw32-win7-sp1] (sf-6.4-1)
Copyright (C) 2002-15, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
Device is: In smartctl database [for details use: -P show]
SATA Version is: SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Thu Oct 22 20:28:01 2015
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
作者: CrLf 时间: 2015-10-22 22:31
已上传 smartctl 到 batch-cn
作者: 依山居 时间: 2015-10-22 22:37
回复 7# CrLf
说明加上可以读取硬盘S.M.A.R.T 信息,如硬盘转速等信息。更加清晰。
作者: CrLf 时间: 2015-10-22 23:02
回复 8# 依山居
done
作者: 依山居 时间: 2015-10-23 05:33
睡起来再继续。- >>> from pySMART import DeviceList
- >>> d=DeviceList()
- >>> d
- <DeviceList contents:
- <SATA device on /dev/sda mod:HGST HTS54133A9380 sn:JD1033CC1Z6PMH>
- <SATA device on /dev/sdb mod:KINGSTON SV300S37A120G sn:50026d38050>
- <SAT device on /dev/sdc mod:SanDisk SSD U100 16GB sn:0ba4e8360>
复制代码
作者: 依山居 时间: 2015-10-28 18:50
- @echo off
-
- ::批处理判断C盘是否是SSD.bat
- ::依赖开源工具smartmontool中的ssmartctl.exe
- ::http://sourceforge.net/projects/smartmontools/
- smartctl -i %systemdrive%|find "Solid State Device"&&echo 看来是SSD||echo - -不是SSD
-
- smartctl -a d: |find "Solid State Device"&&echo 看来是SSD||echo - -不是SSD
-
- smartctl -a e: |find "Solid State Device"&&echo 看来是SSD||echo - -不是SSD
-
- pause
复制代码
作者: 依山居 时间: 2015-10-28 18:52
- #python读取管道判断C盘是不是SSD
-
- import os
- txt=os.popen('smartctl -i e:').read()
- if 'Solid State Device' in txt:
- print("是SSD\n")
- else:
- print("也许大概不是SSD\n")
-
- #少数情况下C盘不是系统盘,从系统系统变量从读取系统盘符可靠性会高一些。
- cmd='smartctl -i '
- sd=os.environ.get('SYSTEMDRIVE')
- print("当前系统盘符:",sd)
- cmd=cmd+sd
- print('即将要执行的命令:',cmd)
- txt=os.popen(cmd).read()
- if 'Solid State Device' in txt:
- print("systemdrive:",sd,"固态硬盘")
复制代码
作者: 9zhmke 时间: 2015-11-2 17:25
VBS理论上可以有办法读到 smart 信息吧?
作者: 依山居 时间: 2015-11-9 20:51
回复 13# 9zhmke
正好贴个资料备用 玩转WMI --- 用脚本获取硬盘传感器温度和SMART讯息
http://blog.csdn.net/u014183302/article/details/41289451
作者: 9zhmke 时间: 2015-11-15 14:52
回复 14# 依山居
我查了smart的数据结构貌似没有转速这一项?
作者: 依山居 时间: 2015-11-15 16:02
回复 15# 9zhmke
应该是要有的。你再查查资料。具体我不懂的。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |