[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

本帖最后由 adrien0901 于 2013-9-17 22:22 编辑

请问如何通过批处理获取Windows整个硬盘大小,并把结果重定向到一个记事本里,谢谢.

看看这个帖子,里面的脚本可以获取磁盘大小
http://www.bathome.net/thread-26442-1-1.html

TOP

  1. wmic LogicalDisk where "DeviceID='C:'" get Size
复制代码

TOP

本帖最后由 adrien0901 于 2013-9-17 21:56 编辑
看看这个帖子,里面的脚本可以获取磁盘大小
foxJL 发表于 2013-9-17 21:48



这个不能获取整个系统磁盘的大小,希望通过执行批处理之后,文本里直接显示为磁盘的总大小,并且单位为G

TOP

回复 4# adrien0901


    整个系统磁盘大小?是不是你表错了意思,你是说整个硬盘大小?

TOP

回复  adrien0901


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



    不好意思,可能是表达错了,指的是整个硬盘大小。

TOP

回复 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
复制代码

TOP

  1. wmic DiskDrive get Size /value
复制代码

TOP

本帖最后由 Lumiere 于 2013-9-17 22:48 编辑

回复 1# adrien0901

系统盘还是整个磁盘?
Still with wax

TOP

不要计算的话:
  1. wmic diskdrive get size|find /v "S">size.txt
复制代码
***共同提高***

TOP

ECHO,LIST DISK>LST.TXT
DISKPART /S LST.TXT
如无特别说明,代码测试环境均为 XP SP3

TOP

还是加上计算过程吧(换算为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
复制代码
***共同提高***

TOP

加个多个硬盘
  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
复制代码

TOP

还是加上计算过程吧(换算为GB)
batman 发表于 2013-9-17 23:05

谢谢,但windows 8上无法运行。

TOP

谢谢各位热心的帮助

TOP

返回列表