Tôi đang cố gắng tạo một tệp bó để lấy tổng kích thước và dung lượng trống của ổ C: \ của máy chủ (tập lệnh chạy cục bộ). Tôi cũng cần đầu ra để dễ đọc, do đó byte sẽ không hoạt động, vì vậy tôi ổn với việc có một dòng lệnh tạo tệp temp .vbs.
Điều sau đây có vẻ như có thể hoạt động, nhưng định dạng / toán học không chính xác.
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%
Các lệnh trên cũng chỉ hiển thị không gian trống ... Tôi cũng muốn tổng kích thước ... Tự hỏi liệu lệnh sau có thể tốt hơn để lấy thông tin không:
WMIC LOGICALDISK GET Name,Size,FreeSpace | find /i "C:"
Cũng lưu ý rằng tôi muốn điều này có thể được sao chép / dán trực tiếp vào dấu nhắc lệnh (không phải là tệp bó - yêu cầu bắt buộc). Tôi đã xóa "%%" khỏi mã ở trên.
Lưu ý: Cần chạy tự nhiên trên Server 2003+ (vì vậy Powershell đã hết, cũng như mọi tiện ích của bên thứ 3).