我如何知道磁盘是否为SSD?

问题描述

我需要创建一个T卷,即创建了T,但是如果磁盘是ssd,我还需要一个新的U卷,我该怎么做? 知道我是否是SSD的批处理命令是什么?

[...]
set /a VOL_SIZE= %MINSIZE_MB% /2
set VOL_TYPE=simple
if %NdisK% GTR 1 set VOL_TYPE=stripe

echo create volume %VOL_TYPE% size=%VOL_SIZE% disk=%disKLIST%   >>%CMD_FILE%
echo Format fs=NTFS quick                                       >>%CMD_FILE%
echo assign letter=T                                            >>%CMD_FILE%


::if I'm not a SSD goto :noSSD

echo create volume %VOL_TYPE% disk=%disKLIST%                   >>%CMD_FILE%
echo Format fs=NTFS quick                                       >>%CMD_FILE%
echo assign letter=U                                            >>%CMD_FILE%

:noSSD
[...]

最诚挚的问候。

解决方法

作为使用的替代方法,您也可以尝试通过

打开命令提示符窗口,粘贴以下行,然后按 ENTER

,Units.Units,DATEDIFF(week,StartofSales.[Start of Sales/Letting Revised],EndofSales.[End of Sales/Letting Revised])[Weeks Period],Units.Units/case when DATEDIFF(week,EndofSales.[End of Sales/Letting Revised])= 0 then 1 else DATEDIFF(week,EndofSales.[End of Sales/Letting Revised]) end as[Units/week]

这将访问与PowerShell For /F Tokens^=6Delims^=^" %G In ('^""%SystemRoot%\System32\wbem\WMIC.exe" /NameSpace:\\root\Microsoft\Windows\Storage Path MSFT_PhysicalDisk Where "MediaType='4' And SpindleSpeed='0'" Get Model /Format:MOF 2^>NUL^"')Do @Echo %G is an SSD 相同的信息。它首先检查Get-PhysicalDisk属性。该属性返回了三个可能的值,MediaType (未指定)0 (HDD);和3 (SSD)。为了提高安全性,我检查主轴速度为4,因为SSD中没有活动部件,并返回通过两次检查的任何型号名称。

,

在cmd中,您可以键入以下命令,该命令将调用PowerShell并传递该命令,如果磁盘属于该类型,则该命令将返回“ SSD”:

powershell.exe "(get-physicaldisk).MediaType"

按照phuclv的建议,在批处理文件中使用此命令的返回值的最简单方法是:

powershell.exe "exit ((get-physicaldisk).MediaType) -ne 'SSD'" && echo SSD

存在SSD时的声明说明:

  • ((get-physicaldisk).MediaType)-评估为“ SSD”
  • 'SSD' -ne SSD'-计算结果为False(-ne不等于运算符)
  • exit带有逻辑假(假)-使PowerShell退出而不将CMD的%ERRORLEVEL%设置为非零
  • &&-是CMD运算符,当第一个命令成功执行时(%ERRORLEVEL%为零)执行第二个命令