我正在尝试创建一个批处理文件,以提取服务器C:\驱动器的总大小和可用空间(本地运行脚本)。我还需要输出易于阅读,因此字节将无法工作,因此我可以使用创建临时.vbs文件的命令行。
以下内容似乎可以使用,但是格式/数学不正确。
setlocal
for /f "tokens=6" %a in ('fsutil volume diskfree C: ^| find "of bytes"') do set diskspace=%a
echo wsh.echo FormatNumber(cdbl(%diskspace%)/1024, 0) > %temp%.\tmp.vbs
for /f %a in ('cscript //nologo %temp%.\tmp.vbs') do set diskspace=%a
del %temp%.\tmp.vbs
echo For example %diskspace%
上面的命令也只显示了可用空间...我也希望总大小...想知道以下命令是否可能更适合提取信息:
WMIC LOGICALDISK GET Name,Size,FreeSpace | find /i "C:"
另请注意,我希望能够将其直接复制/粘贴到命令提示符中(而不是批处理文件-强制要求)。我已经从上面的代码中删除了“ %%”。
注意:需要在Server 2003+上本机运行(因此Powershell和其他任何第三方utils都已退出)。