如何消除Smartctl命令输出中数字后面的空格

在使用Smartctl命令获取SSD总写入量时,截取到的数字后面往往会有空格,例如'64.2 '。为了避免空格影响后续判断,需要消除数字后面的空格。

要消除数字后面的空格,可以在设置变量时使用set命令的/p参数,将变量的值从键盘读取而不是直接从命令输出读取。这样可以避免空格被读取到变量中。

以下是修改后的代码:

@echo off
for /f "tokens=3 delims=[,GB]" %%a in ('smartctl -a /dev/sda ^| find /i "Data Units Written:"') do (
    set /p "TotalWrite=%%a"
)

rem 删除数字后面的空格
set "TotalWrite=%TotalWrite: =%"

if %TotalWrite% GTR 200 (
    color 4
    cls
    echo SSD Total Write count: %TotalWrite%GB
    pause >nul
    start /wait diskinfo.exe
    goto TotalWrite
)

在这个修改后的代码中,使用set /p命令将变量TotalWrite的值从键盘读取,然后通过%TotalWrite: =%的替换语法,将空格替换为空。这样就可以消除数字后面的空格。

如何消除Smartctl命令输出中数字后面的空格

原文地址: https://www.cveoy.top/t/topic/qcab 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录