使用批处理文件获取“C:”驱动器的可用空间

时间:2011-09-05 07:09:38

标签: batch-file

我想写一个批处理文件,它给了我C盘中剩余的空间。

1 个答案:

答案 0 :(得分:4)

以下脚本将为您提供驱动器上的空闲字节:

@setlocal enableextensions enabledelayedexpansion
@echo off
for /f "tokens=3" %%a in ('dir c:\') do (
    set bytesfree=%%a
)
set bytesfree=%bytesfree:,=%
echo %bytesfree%
endlocal && set bytesfree=%bytesfree%

请注意,这取决于dir命令的输出,该命令需要包含格式为24 Dir(s) 34,071,691,264 bytes free的可用空间的最后一行。具体做法是:

  • 它必须是最后一行(或者您可以修改for循环以明确检测该行,而不是依赖于为每一行设置bytesfree
  • 可用空间必须是第三个“单词”(或者您可以更改tokens=位以获得不同的单词)。
  • 千位分隔符是,个字符(或者您可以将替换从逗号更改为其他内容)。

它不会污染您的环境命名空间,在退出时仅设置bytesfree变量。如果您的dir输出不同(例如,不同的区域设置或语言设置),则需要调整脚本。