找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 87685|回复: 24

[系统相关] 怎样通过批处理获取Windows整个硬盘大小?

[复制链接]
发表于 2013-9-17 21:43:00 | 显示全部楼层 |阅读模式
本帖最后由 adrien0901 于 2013-9-17 22:22 编辑

请问如何通过批处理获取Windows整个硬盘大小,并把结果重定向到一个记事本里,谢谢.
发表于 2013-9-17 21:48:39 | 显示全部楼层
看看这个帖子,里面的脚本可以获取磁盘大小
http://www.bathome.net/thread-26442-1-1.html
发表于 2013-9-17 21:52:30 | 显示全部楼层
  1. wmic LogicalDisk where "DeviceID='C:'" get Size
复制代码
 楼主| 发表于 2013-9-17 21:53:00 | 显示全部楼层
本帖最后由 adrien0901 于 2013-9-17 21:56 编辑
看看这个帖子,里面的脚本可以获取磁盘大小
foxJL 发表于 2013-9-17 21:48



这个不能获取整个系统磁盘的大小,希望通过执行批处理之后,文本里直接显示为磁盘的总大小,并且单位为G
发表于 2013-9-17 21:56:25 | 显示全部楼层
回复 4# adrien0901


    整个系统磁盘大小?是不是你表错了意思,你是说整个硬盘大小?
 楼主| 发表于 2013-9-17 21:57:24 | 显示全部楼层
回复  adrien0901


    整个系统磁盘大小?是不是你表错了意思,你是说整个硬盘大小?
foxJL 发表于 2013-9-17 21:56



    不好意思,可能是表达错了,指的是整个硬盘大小。
发表于 2013-9-17 22:24:07 | 显示全部楼层
回复 6# adrien0901


    临时给你改一个吧,只有整数位,没有小数,重定向到1.txt
  1. @echo off&setlocal EnableDelayedExpansion
  2. >%temp%\tmp.vbs echo Wscript.Echo round(wscript.arguments(0)/wscript.arguments(1),2)
  3. for /f "tokens=1,2,3 delims= " %%a in ('wmic logicaldisk where "drivetype=3" get deviceid^,size^,freespace^|find ":"') do (
  4.         call :calculate %%c 1073741824 allGB
  5.         echo.%%a空间:!allGB!GB
  6.         set /a all+=allgb
  7. )
  8. echo.&echo 硬盘总空间约为:%all%GB
  9. echo.&echo 硬盘总空间约为:%all%GB>1.txt
  10. del %temp%\tmp.vbs&pause>nul&exit
  11. :calculate
  12. for /f "delims=" %%i in ('cscript //nologo %temp%\tmp.vbs %1 %2') do (set %3=%%i)
  13. goto :eof
复制代码
发表于 2013-9-17 22:40:06 | 显示全部楼层
  1. wmic DiskDrive get Size /value
复制代码
发表于 2013-9-17 22:43:04 | 显示全部楼层
本帖最后由 Lumiere 于 2013-9-17 22:48 编辑

回复 1# adrien0901

系统盘还是整个磁盘?
发表于 2013-9-17 22:43:06 | 显示全部楼层
不要计算的话:

  1. wmic diskdrive get size|find /v "S">size.txt
复制代码
发表于 2013-9-17 22:59:49 | 显示全部楼层
ECHO,LIST DISK>LST.TXT
DISKPART /S LST.TXT
发表于 2013-9-17 23:05:17 | 显示全部楼层
还是加上计算过程吧(换算为GB)

  1. @echo off
  2. for /f %%a in ('wmic diskdrive get size^|find /v "S"') do set "size=%%a"
  3. mshta vbscript:createobject("scripting.filesystemobject").opentextfile("size.txt",2,1).write(round(%size%/1024/1024/1024,2)^&" GB")(self.close)
  4. start size.txt
复制代码
发表于 2013-9-18 01:58:44 | 显示全部楼层
加个多个硬盘
  1. @echo off
  2. for /f "tokens=1-2,4-5" %%i in ('echo list disk ^| diskpart ^| findstr /i GB') do (
  3.         echo %%i %%j %%k %%l
  4. )
  5. pause
复制代码
 楼主| 发表于 2013-9-18 09:18:49 | 显示全部楼层
还是加上计算过程吧(换算为GB)
batman 发表于 2013-9-17 23:05

谢谢,但windows 8上无法运行。
 楼主| 发表于 2013-9-18 09:19:29 | 显示全部楼层
谢谢各位热心的帮助
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 03:50 , Processed in 0.014744 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表