[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[技术讨论] VBS如何判断C盘是否是SSD?

查了好多地方都没找到可以判断C盘是否是SSD的方法。
如果实在找不到办法的话,是否可以采用禁止缓存后存取文件测试速度来粗略估计?

intel ssd的硬盘型号
都是带有
intel ssd
字样的

其它牌子的不清楚

QQ 20147578

TOP

回复 2# czjt1234


    如果有通用的办法就好了

TOP

回复 3# 9zhmke


    搜索了一下,好多老外也在问同样问题。

http://stackoverflow.com/questio ... if-a-drive-is-a-ssd

TOP

我用HDTunePro看了一下。有一项信息是硬盘转速。SSD转速为0,如果能读到这个信息。不为0。那应该可以解释问题了了。

TOP

本帖最后由 依山居 于 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

TOP

已上传 smartctl 到 batch-cn

TOP

回复 7# CrLf


    说明加上可以读取硬盘S.M.A.R.T 信息,如硬盘转速等信息。更加清晰。

TOP

回复 8# 依山居


    done

TOP



睡起来再继续。
  1. >>> from pySMART import DeviceList
  2. >>> d=DeviceList()
  3. >>> d
  4. <DeviceList contents:
  5. <SATA device on /dev/sda mod:HGST HTS54133A9380 sn:JD1033CC1Z6PMH>
  6. <SATA device on /dev/sdb mod:KINGSTON SV300S37A120G sn:50026d38050>
  7. <SAT device on /dev/sdc mod:SanDisk SSD U100 16GB sn:0ba4e8360>
复制代码

TOP

  1. @echo off
  2. ::批处理判断C盘是否是SSD.bat
  3. ::依赖开源工具smartmontool中的ssmartctl.exe
  4. ::http://sourceforge.net/projects/smartmontools/
  5. smartctl -i %systemdrive%|find "Solid State Device"&&echo 看来是SSD||echo - -不是SSD
  6. smartctl -a d: |find "Solid State Device"&&echo 看来是SSD||echo - -不是SSD
  7. smartctl -a e: |find "Solid State Device"&&echo 看来是SSD||echo - -不是SSD
  8. pause
复制代码

TOP

  1. #python读取管道判断C盘是不是SSD
  2. import os
  3. txt=os.popen('smartctl -i e:').read()
  4. if 'Solid State Device' in txt:
  5.     print("是SSD\n")
  6. else:
  7.     print("也许大概不是SSD\n")
  8.    
  9. #少数情况下C盘不是系统盘,从系统系统变量从读取系统盘符可靠性会高一些。
  10. cmd='smartctl -i '
  11. sd=os.environ.get('SYSTEMDRIVE')
  12. print("当前系统盘符:",sd)
  13. cmd=cmd+sd
  14. print('即将要执行的命令:',cmd)
  15. txt=os.popen(cmd).read()
  16. if 'Solid State Device' in txt:
  17.     print("systemdrive:",sd,"固态硬盘")
复制代码

TOP

VBS理论上可以有办法读到 smart 信息吧?

TOP

回复 13# 9zhmke


    正好贴个资料备用 玩转WMI --- 用脚本获取硬盘传感器温度和SMART讯息
http://blog.csdn.net/u014183302/article/details/41289451

TOP

回复 14# 依山居


    我查了smart的数据结构貌似没有转速这一项?

TOP

返回列表