如何消除Smartctl命令输出中数字后面的空格
如何消除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: =%的替换语法,将空格替换为空。这样就可以消除数字后面的空格。
原文地址: https://www.cveoy.top/t/topic/qcab 著作权归作者所有。请勿转载和采集!