CrystalDiskInfo 参数概述
CrystalDiskInfo 的命令行参数主要用于控制其行为,例如指定要检测的磁盘、设置输出格式、静默运行等,这些参数对于脚本编写和自动化任务至关重要。

主要参数详解
以下是核心且常用的参数,我将逐一解释其功能和用法。
/h 或 - 显示帮助信息
这是最基础的参数,用于查看所有可用的命令行参数及其说明。
用法示例:
CrystalDiskInfo.exe /?
效果: 在命令行窗口中显示完整的帮助信息。

/d - 指定磁盘编号
这是最核心的参数之一,当你有多块硬盘时,可以使用此参数来指定 CrystalDiskInfo 只报告特定磁盘的信息。
重要提示: 磁盘编号从 0 开始。0 代表系统中的第一块物理硬盘(通常是系统盘 C 盘所在的磁盘),1 代表第二块,以此类推。
用法示例:
# 只检测并报告第一块硬盘(通常是 C 盘)的健康状态 CrystalDiskInfo.exe /d 0
效果: 程序窗口会只显示磁盘 0 的信息,而不是所有磁盘。

/s 或 /sni - 静默运行
此参数让程序在后台静默运行,不弹出图形界面,通常与 /xml 或 /csv 参数结合使用,以获取数据而不干扰用户。
/s: 静默运行,窗口会一闪而过。/sni: 静默且无界面运行,完全不显示窗口。
用法示例:
# 静默运行,不显示任何窗口 CrystalDiskInfo.exe /sni /d 0
效果: 程序启动后立即关闭,不会出现任何窗口。
/xml - 输出 XML 格式
将检测结果以 XML 格式输出到标准输出(通常是命令行窗口),这对于被其他程序或脚本解析非常有用。
用法示例:
CrystalDiskInfo.exe /sni /d 0 /xml
效果: 命令行窗口会输出类似下面的 XML 内容:
<?xml version="1.0" encoding="UTF-8"?>
<CrystalDiskInfo>
<Disk>
<Index>0</Index>
<Model>WDC WD10EZEX-08M2NA0</Model>
<FirmwareVersion>80.00A80</FirmwareVersion>
<Interface>ATA</Interface>
<Capacity>1,000.20 GB</Capacity>
<HealthStatus>Good</HealthStatus>
<Temperature>32 °C</Temperature>
<PowerOnHours>0</PowerOnHours>
<PowerOnCount>1</PowerOnCount>
<S.M.A.R.T.>
<Attribute>
<ID>1</ID>
<Name>Raw Read Error Rate</Name>
<Value>200</Value>
<Worst>200</Worst>
<Threshold>0</Threshold>
<Flags>---O-K-</Flags>
</Attribute>
<!-- 其他 S.M.A.R.T. 属性... -->
</S.M.A.R.T.>
</Disk>
</CrystalDiskInfo>
/csv - 输出 CSV 格式
将检测结果以 CSV(逗号分隔值)格式输出,方便导入到 Excel 或其他表格软件中进行数据分析。
用法示例:
CrystalDiskInfo.exe /sni /d 0 /csv
效果: 命令行窗口会输出类似下面的 CSV 内容:
Index,Model,Firmware,Interface,Capacity,Health Status,Temperature,Power On Hours,Power On Count,Attribute ID,Attribute Name,Attribute Value,Attribute Worst,Attribute Threshold,Attribute Flags 0,WDC WD10EZEX-08M2NA0,80.00A80,ATA,1,000.20 GB,Good,32 °C,0,1,Raw Read Error Rate,200,200,0,---O-K- 0,WDC WD10EZEX-08M2NA0,80.00A80,ATA,1,000.20 GB,Good,32 °C,0,2,Throughput Performance,100,100,51,----P-- <!-- 更多行... -->
注意: 如果不指定 /d,它会输出所有磁盘的信息,每张磁盘的信息之间会有空行。
/log - 生成日志文件
将检测结果保存到一个指定的文本文件中,而不是输出到控制台。
用法示例:
# 将所有磁盘的信息保存到 C:\logs\disk_info.txt 文件中 CrystalDiskInfo.exe /log "C:\logs\disk_info.txt"
效果: 程序会运行,并将结果写入指定的文件,如果文件已存在,默认会追加内容。
/logcsv - 生成 CSV 日志文件
与 /log 类似,但将结果以 CSV 格式保存到文件中。
用法示例:
# 将所有磁盘的信息以 CSV 格式保存到文件中 CrystalDiskInfo.exe /logcsv "C:\logs\disk_info.csv"
/language - 设置语言
强制程序使用指定的语言界面,语言代码通常是 ISO 639-1 的两字母代码(如 en 代表英语,ja 代表日语,zh 代表中文)。
用法示例:
# 强制使用英文界面 CrystalDiskInfo.exe /language en
参数组合使用示例
命令行参数的真正威力在于组合使用,以下是一些常见的实用场景。
示例 1:获取指定磁盘的健康状态并显示在窗口中
这个组合会只打开一个窗口,显示你关心的那块硬盘的信息,避免信息混乱。
CrystalDiskInfo.exe /d 1
适用场景: 你有两块硬盘(C盘和D盘),只想快速查看D盘(磁盘编号为1)的状态。
示例 2:静默检查所有磁盘,并以 XML 格式输出
这是自动化脚本中最常用的组合,可以捕获输出,然后通过脚本(如 PowerShell, Python)解析 XML 文件,判断是否有硬盘出现问题。
CrystalDiskInfo.exe /sni /xml
适用场景:
- Windows 计划任务:每天凌晨自动运行此命令,将输出重定向到一个文件。
- PowerShell 示例: 获取所有磁盘的健康状态。
$xmlOutput = cmd /c "CrystalDiskInfo.exe /sni /xml" [xml]$xml = $xmlOutput $xml.CrystalDiskInfo.Disk | Select-Object Model, HealthStatus, Temperature
示例 3:将指定磁盘的信息保存为 CSV 文件
用于定期收集硬盘数据,进行长期的健康趋势分析。
CrystalDiskInfo.exe /sni /d 0 /logcsv "C:\reports\system_disk_health.csv"
适用场景: 每周通过任务计划运行此命令,将系统盘的健康数据追加到一个 CSV 文件中,然后用 Excel 生成图表,观察温度、通电时间等的变化趋势。
示例 4:在批处理脚本中进行判断
这是一个非常强大的应用,可以在脚本中根据硬盘健康状态执行不同的操作。
check_disk.bat 文件内容:
@echo off
REM 定义输出文件
set "logfile=C:\temp\disk_status.log"
REM 运行 CrystalDiskInfo 并将结果保存到日志文件
CrystalDiskInfo.exe /sni /d 0 /log "%logfile%"
REM 检查日志文件中是否包含 "Warning" 或 "Bad" 关键字
findstr /i /c:"Warning" /c:"Bad" "%logfile%" > nul
if %errorlevel% equ 0 (
echo 警告:检测到硬盘状态异常!请检查日志文件:%logfile%
exit /b 1
) else (
echo 硬盘状态正常。
exit /b 0
)
效果:
- 如果磁盘 0 的状态是 "Warning" 或 "Bad",脚本会输出警告信息并以错误码 1 退出。
- 如果状态是 "Good",脚本会输出正常信息并以错误码 0 退出,这个错误码可以被其他脚本或系统监控工具捕获。
| 参数 | 功能 | 常见用途 |
|---|---|---|
/h, |
显示帮助信息 | 快速查阅参数 |
/d [N] |
指定磁盘编号 (N=0,1,2...) | 精准检测特定硬盘 |
/s, /sni |
静默运行 | 后台执行,不显示界面 |
/xml |
输出 XML 格式 | 脚本解析,自动化处理 |
/csv |
输出 CSV 格式 | 数据分析,导入 Excel |
/log [file] |
生成文本日志文件 | 保存原始结果 |
/logcsv [file] |
生成 CSV 日志文件 | 结构化数据记录 |
/language [code] |
设置界面语言 | 统一环境语言 |
通过灵活组合这些参数,你可以将 CrystalDiskInfo 从一个简单的查看工具,转变为强大的硬盘健康监控和自动化管理利器。
