서버의 C : \ 드라이브 (로컬 실행 스크립트)의 총 크기와 여유 공간을 가져 오기 위해 배치 파일을 만들려고합니다. 또한 출력을 쉽게 읽을 수 있어야하므로 바이트가 작동하지 않으므로 temp .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도 종료 됨).