You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows批处理:提取diskpart输出数值至变量并执行减法运算

Windows批处理提取磁盘可回收空间并计算

实现步骤

要提取diskpart输出中括号内的数字并完成减法运算,可通过嵌套for /f循环解析字符串,具体代码如下:

@echo off
setlocal
set "size1="

:: 捕获diskpart输出并提取括号内的数字
for /f "delims=" %%a in ('(echo sel vol c^&echo shrink querymax^&echo exit^)|diskpart.exe^|findstr "MB)"') do (
    :: 提取()包裹的内容
    for /f "tokens=2 delims=()" %%b in ("%%a") do (
        :: 提取内容中的数字部分
        for /f "tokens=1 delims= " %%c in ("%%b") do (
            set "size1=%%c"
        )
    )
)

:: 计算size2并输出结果
if defined size1 (
    set /a "size2=size1-20000"
    echo 可回收空间(MB): %size1%
    echo 调整后空间(MB): %size2%
) else (
    echo 无法获取可回收空间信息
)
endlocal

代码说明

  • 外层for /f:捕获diskpart经findstr过滤后的目标行,delims=确保保留整行内容不拆分。
  • 第一层嵌套for /f:以(和)为分隔符,提取括号内的内容(如884312 MB)。
  • 第二层嵌套for /f:以空格为分隔符,提取括号内容中的纯数字部分,赋值给size1。
  • set /a命令:直接对变量执行算术运算,计算size2 = size1 - 20000,无需额外变量引用符号。

内容的提问来源于stack exchange,提问作者SmplJohn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 01:22:37