gpt4 book ai didi

windows - 计算批处理文件中的已用磁盘空间

转载 作者:可可西里 更新时间:2023-11-01 14:48:51 30 4
gpt4 key购买 nike

我用过this获取磁盘大小信息的问题。我对批处理编程很陌生,所以请耐心等待。

@echo off & setlocal ENABLEDELAYEDEXPANSION
SET "volume=C:"
FOR /f "tokens=1*delims=:" %%i IN ('fsutil volume diskfree %volume%') DO (
SET "diskfree=!disktotal!"
SET "disktotal=!diskavail!"
SET "diskavail=%%j"
)
FOR /f "tokens=1,2" %%i IN ("%disktotal% %diskavail%") DO SET "disktotal=%%i"& SET "diskavail=%%j"
(ECHO(Information for volume %volume%
ECHO(TOTAL SIZE ---------- %disktotal:~0,-9% GB
ECHO(AVAILABLE SIZE ------- %diskavail:~0,-9% GB)
pause

结果是这样的:

Information for volume C:
TOTAL SIZE ---------- 240 GB
AVAILABLE SIZE ------- 135 GB

我现在如何通过从总大小中减去可用大小来计算已用磁盘空间?我知道我必须使用 SET 命令和 /A 但我不知道如何正确实现它。

最佳答案

替换这个:

FOR /f "tokens=1,2" %%i IN ("%disktotal% %diskavail%") DO SET "disktotal=%%i"& SET "diskavail=%%j"
(ECHO(Information for volume %volume%
ECHO(TOTAL SIZE ---------- %disktotal:~0,-9% GB
ECHO(AVAILABLE SIZE ------- %diskavail:~0,-9% GB)

用这个:

SET /a diskused=%disktotal:~0,-9% - %diskavail:~0,-9%
ECHO(Information for volume %volume%
ECHO(TOTAL SIZE ---------- %disktotal:~0,-9% GB
ECHO(AVAILABLE SIZE ------- %diskavail:~0,-9% GB
ECHO(USED SIZE ------------ %diskused% GB

你的原作没有明显的原因使分配 disktotaldiskavail 的值成为一顿饭 - 这是多余的,因为它们已经被之前的 分配了对于

使用 set/a 进行计算,从总数中减去可用量,以 GB 为单位。

关于windows - 计算批处理文件中的已用磁盘空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34925166/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com