无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 5197|回复: 45
打印 上一主题 下一主题

[已解决] 【已解决】批处理怎样查看C盘已用空间?谢谢

[复制链接]
跳转到指定楼层
1#
发表于 2023-8-17 11:10:15 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 yyz2191958 于 2023-8-21 19:35 编辑

完美解决了:
@echo off
::【查C:盘空间】
cd /d D:\1绿色软件\关闭显示器\
:A
for /f "tokens=1,2,3,4 delims= " %%a in ('"pecmd.exe team find C:\=?,a^| ifex C:\=?,b^| calc c=(%%a%%) / 1g # 1^| calc d=(%%a%% - %%b%%) / 1g # 2^| calc e=(%%b%%) / 1g # 1^| calc f=(%%a%% - %%b%%) / %%a%% * 100 # 0^| writ -,$+0,%%c%% %%d%% %%e%% %%f%%"') do ( set "总空间=%%a" && set "已用空间=%%b" && set "剩余空间=%%c" && set "使用率=%%d" )
::【(# 0——使用率保留0位小数)(# 1——总空间和剩余空间保留1位小数)(# 2——已用空间保留2位小数)】
@echo.
@echo.
@echo.
@echo.
@echo.   
@echo                               C盘 %已用空间%   参考 5.85
@echo.
@echo.
@echo.
@echo.
echo        分区            总的            剩余            已用           用率
echo.
echo        C 盘            %总空间%            %剩余空间%            %已用空间%           %使用率% %%
echo.       -------------------------------------------------------------------
pause>nul 2>nul
::【删除“ie临时文件”】
Del /f /s /q  "C:\Users\Administrator\AppData\Local\Microsoft\Windows\Temporary Internet Files\*.*"
Del /f /s /q  "D:\桌面\Temporary Internet Files\*.*"
::【启动:DiskCleaner2.0.exe】
"%~dp0Disk Cleaner 2.0.exe"
cls
goto :A
exit

******************************************************************************************
方法2:查看C盘已用空间.wcs
find C:\=?,a    //查C:盘总空间
ifex C:\=?,b    //查C:盘剩余空间
calc c=(%a% - %b%) / 1g # 2  //以G为单位,保留两位小数
mess. C盘已用空间:%c% GB

********************************
原来的问题:
批处理怎样查看C盘已用空间?


40#
 楼主| 发表于 2023-8-21 07:39:06 | 只看该作者
527104427 发表于 2023-8-20 23:38
@echo off
for /f "tokens=1,2,3,4 delims= " %%a in ('"pecmd.exe team find C:\=?,a^| ifex C:\=?,b^| ...

问题解决,再次感谢
回复

使用道具 举报

39#
发表于 2023-8-20 23:38:41 | 只看该作者
yyz2191958 发表于 2023-8-20 21:51
已有 “查看C盘.bat”(PE下使用):
@echo off
for /f "tokens=1,2,3 delims= " %%a in ('"pecmd.exe te ...

@echo off
for /f "tokens=1,2,3,4 delims= " %%a in ('"pecmd.exe team find C:\=?,a^| ifex C:\=?,b^| calc c=(%%a%%) / 1g # 2^| calc d=(%%a%% - %%b%%) / 1g # 2^| calc e=(%%b%%) / 1g # 2^| calc f=(%%a%% - %%b%%) / %%a%% * 100 # 0^| writ -,$+0,%%c%% %%d%% %%e%% %%f%%"') do ( set "总空间=%%a" && set "已用空间=%%b" && set "剩余空间=%%c" && set "使用率=%%d" )

echo         C盘          %总空间%GB        %剩余空间%GB         %已用空间%GB           %使用率%%%
echo        磁盘        总空间        剩余空间        已用空间          使用率
echo.      ---------------------------------------------------------------------
pause>nul 2>nul

点评

问题解决,再次感谢  详情 回复 发表于 2023-8-21 07:39

评分

参与人数 1无忧币 +5 收起 理由
yyz2191958 + 5 很给力!

查看全部评分

回复

使用道具 举报

38#
 楼主| 发表于 2023-8-20 21:51:58 | 只看该作者
本帖最后由 yyz2191958 于 2023-8-20 22:18 编辑

已有 “查看C盘.bat”(PE下使用):
@echo off
for /f "tokens=1,2,3 delims= " %%a in ('"pecmd.exe team find C:\=?,a^| ifex C:\=?,b^| calc c=(%%a%%) / 1g # 2^| calc d=(%%a%% - %%b%%) / 1g # 2^| calc e=(%%b%%) / 1g # 2^| writ -,$+0,%%c%% %%d%% %%e%%"') do ( set "总空间=%%a" && set "已用空间=%%b" && set "剩余空间=%%c" )

echo         C盘          %总空间%          %剩余空间%           %已用空间%  %使用率%
echo        磁盘        总空间        剩余空间        已用空间          使用率
echo.      ---------------------------------------------------------------------
pause>nul 2>nul
***********************************************************************************
希望增加C盘使用率,即:已用空间/总空间*100(不要小数)

1.png (3.96 KB, 下载次数: 94)

1.png

点评

@echo off for /f "tokens=1,2,3,4 delims= " %%a in ('"pecmd.exe team find C:\=?,a^| ifex C:\=?,b^| calc c=(%%a%%) / 1g # 2^| calc d=(%%a%% - %%b%%) / 1g # 2^| calc e=(%%b%%) / 1g # 2^| calc f=(%%a%% -  详情 回复 发表于 2023-8-20 23:38
回复

使用道具 举报

37#
 楼主| 发表于 2023-8-20 20:39:35 | 只看该作者
527104427 发表于 2023-8-20 12:15
@echo off
for /f "tokens=1,2,3 delims= " %%a in ('"pecmd.exe team find C:\=?,a^| ifex C:\=?,b^| c ...

能不能再帮我弄一个使用率:

即:已用空间/总空间*100

谢谢
回复

使用道具 举报

36#
 楼主| 发表于 2023-8-20 18:16:46 | 只看该作者
527104427 发表于 2023-8-20 12:15
@echo off
for /f "tokens=1,2,3 delims= " %%a in ('"pecmd.exe team find C:\=?,a^| ifex C:\=?,b^| c ...

运行成功!谢谢
回复

使用道具 举报

35#
发表于 2023-8-20 16:45:29 | 只看该作者
527104427 发表于 2023-8-20 12:15
@echo off
for /f "tokens=1,2,3 delims= " %%a in ('"pecmd.exe team find C:\=?,a^| ifex C:\=?,b^| c ...

运行成功!
回复

使用道具 举报

34#
发表于 2023-8-20 12:15:26 | 只看该作者
本帖最后由 527104427 于 2023-8-20 12:48 编辑
807979023 发表于 2023-8-20 11:09
根据5大的代码,以下批处理在正常系统和pe中可以运行,
请问,如何将wcs变量%c% %d% %e%的值返回到批处理 ...

@echo off
for /f "tokens=1,2,3 delims= " %%a in ('"pecmd.exe team find C:\=?,a^| ifex C:\=?,b^| calc c=(%%a%%) / 1g # 2^| calc d=(%%a%% - %%b%%) / 1g # 2^| calc e=(%%b%%) / 1g # 2^| writ -,$+0,%%c%% %%d%% %%e%%"') do ( set "TotalSpace=%%a" && set "UsedSpace=%%b" && set "FreeSpace=%%c" )
echo 总空间:%TotalSpace%GB
echo 剩余空间:%FreeSpace%GB
echo 已用空间:%UsedSpace%GB
PAUSE



点评

能不能再帮我弄一个使用率: 即:已用空间/总空间*100 谢谢  详情 回复 发表于 2023-8-20 20:39
运行成功!谢谢  详情 回复 发表于 2023-8-20 18:16
运行成功!  详情 回复 发表于 2023-8-20 16:45
运行成功!  发表于 2023-8-20 15:59

评分

参与人数 2无忧币 +10 收起 理由
yyz2191958 + 5 很给力!
807979023 + 5 赞一个!

查看全部评分

回复

使用道具 举报

33#
发表于 2023-8-20 11:09:14 | 只看该作者
根据5大的代码,以下批处理在正常系统和pe中可以运行,
请问,如何将wcs变量%c% %d% %e%的值返回到批处理,不在wcs中显示?
相当于把pecmd和wcs当成是第3方命令行工具。

查看分区容量.bat:
@echo off&color 1f&echo.
set /p by=请选择盘符(不用冒号) :
start pecmd by.wcs

by.wcs:
find %by%:\=?,a    //查by盘总空间
ifex %by%:\=?,b    //查by盘剩余空间
calc c=(%a%) / 1g # 2  //以G为单位,保留两位小数
calc d=(%a% - %b%) / 1g # 2  //以G为单位,保留两位小数
calc e=(%b%) / 1g # 2  //以G为单位,保留两位小数
mess. %by%盘空间: 总计 %c%GB  已用 %d%GB  剩余 %e%GB


点评

@echo off for /f "tokens=1,2,3 delims= " %%a in ('"pecmd.exe team find C:\=?,a^| ifex C:\=?,b^| calc c=(%%a%%) / 1g # 2^| calc d=(%%a%% - %%b%%) / 1g # 2^| calc e=(%%b%%) / 1g # 2^| WRIT -,$+0,%%c%%  详情 回复 发表于 2023-8-20 12:15
回复

使用道具 举报

32#
发表于 2023-8-18 19:11:40 来自手机 | 只看该作者
有这个就能统计内存的大小了。
回复

使用道具 举报

31#
发表于 2023-8-18 16:36:51 | 只看该作者
holley2008 发表于 2023-8-17 12:10
wmic LogicalDisk where "Caption='C:'" get FreeSpace/value
  1. @echo off &setlocal enabledelayedexpansion
  2. set "GB=1073741824"
  3. ::已知1GB可以存放1073741824字节
  4. for /f "skip=1 delims=" %%i in ('wmic LogicalDisk where "Caption='C:'" get DeviceID^,FreeSpace^,Size') do (
  5.   for /f "tokens=1-3" %%j in ("%%i") do call :output %%j %%k %%l
  6. )
  7. goto :eof
  8. :output
  9. for /f "tokens=1-4" %%i in ('mshta vbscript:Execute("CreateObject(""Scripting.FileSystemObject"").GetStandardStream(1).Write(FormatNumber(%3/%GB%, 2) & "" "" & FormatNumber((%3-%2)/%GB%, 2) & "" "" & FormatNumber(%2/%GB%, 2) & "" "" & Round((%3-%2)*50/%3)):Close"^)') do (
  10.   set "size=      %%i"
  11.   set "used=      %%j"
  12.   set "free=      %%k"
  13.   set /a "nUsed=%%l, nFree=50-%%l"
  14. )
  15. echo,
  16. set c=%1
  17. echo  %c:~0,1% 分区 总空间大小: %size:~-10% GB
  18. echo  %c:~0,1% 分区 已使用空间: %used:~-10% GB
  19. echo  %c:~0,1% 分区 剩余空间:   %free:~-10% GB
  20. pause>nul
  21. goto :eof
复制代码
回复

使用道具 举报

30#
发表于 2023-8-18 10:45:42 | 只看该作者
本帖最后由 9zhmke 于 2023-8-18 11:11 编辑

1、把第一行改成@echo on2、运行CMD
3、把批处理拖到黑窗口里并确定
4、把屏幕上显示的内容截个图贴上来看看

我猜想你双击运行批处理,因为没有加暂停,所以你看不到显示了些什么东西。如果是这样的话,你可以在最后加一行暂停:pause


回复

使用道具 举报

29#
 楼主| 发表于 2023-8-18 10:29:04 | 只看该作者
9zhmke 发表于 2023-8-18 10:25
批处理没有正常运行有可能是文本使用了UFT8格式,另存或转为ANSI编码格式就可以了。

还是一样

点评

把第一行改成@echo on 再把屏幕上显示的内容贴上来看看  详情 回复 发表于 2023-8-18 10:45
回复

使用道具 举报

28#
发表于 2023-8-18 10:25:20 | 只看该作者
yyz2191958 发表于 2023-8-18 07:11
我这里没有显示  谢谢

批处理没有正常运行有可能是文本使用了UFT8格式,另存或转为ANSI编码格式就可以了。

点评

还是一样  详情 回复 发表于 2023-8-18 10:29
回复

使用道具 举报

27#
发表于 2023-8-18 07:37:31 | 只看该作者
yyz2191958 发表于 2023-8-18 07:25
搞错了
是需要查看C盘已用空间

find C:\=?,a    //查C:盘总空间
ifex C:\=?,b    //查C:盘剩余空间
calc c=(%a% - %b%) / 1g # 2  //以G为单位,保留两位小数
mess. [C盘已用空间:%c%GB]

评分

参与人数 1无忧币 +5 收起 理由
yyz2191958 + 5 很给力!

查看全部评分

回复

使用道具 举报

26#
 楼主| 发表于 2023-8-18 07:25:21 | 只看该作者
527104427 发表于 2023-8-17 20:44
来个PECMD代码:

ifex C:\=?,a    //查C:盘可用空间

搞错了
是需要查看C盘已用空间

点评

find C:\=?,a //查C:盘总空间 ifex C:\=?,b //查C:盘剩余空间 calc c=(%a% - %b%) / 1g # 2 //以G为单位,保留两位小数 mess. [C盘已用空间:%c%GB]  详情 回复 发表于 2023-8-18 07:37
回复

使用道具 举报

25#
 楼主| 发表于 2023-8-18 07:20:41 | 只看该作者
liangzr1976 发表于 2023-8-18 07:16
我的意思是:
你试过将 @echo off 改为 @echo on,调试过没有?如果这样改, 运行时,出现什么提示信息 ...

改了
一闪而过
回复

使用道具 举报

24#
发表于 2023-8-18 07:16:49 | 只看该作者
本帖最后由 liangzr1976 于 2023-8-18 07:18 编辑
yyz2191958 发表于 2023-8-18 07:11
我这里没有显示  谢谢

我的意思是:
你试过将 @echo off 改为 @echo on,调试过没有?如果这样改, 运行时,出现什么提示信息?


点评

改了 一闪而过  详情 回复 发表于 2023-8-18 07:20
回复

使用道具 举报

23#
 楼主| 发表于 2023-8-18 07:11:50 | 只看该作者
liangzr1976 发表于 2023-8-17 23:43
你好,
14楼的代码,我在wePE2.3_64.ISO 运行在vortualBOX 7.0.10 环境中,能正常完成并显示

我这里没有显示  谢谢

点评

批处理没有正常运行有可能是文本使用了UFT8格式,另存或转为ANSI编码格式就可以了。  详情 回复 发表于 2023-8-18 10:25
我的意思是: 你试过将 @echo off 改为 @echo on,调试过没有?  详情 回复 发表于 2023-8-18 07:16
回复

使用道具 举报

22#
 楼主| 发表于 2023-8-18 07:03:12 | 只看该作者
527104427 发表于 2023-8-17 20:44
来个PECMD代码:

ifex C:\=?,a    //查C:盘可用空间

我需要查看剩余空间,谢谢
回复

使用道具 举报

21#
发表于 2023-8-18 00:33:48 | 只看该作者
谢楼主分享
回复

使用道具 举报

20#
发表于 2023-8-17 23:46:24 | 只看该作者

回复

使用道具 举报

19#
发表于 2023-8-17 23:43:46 | 只看该作者
yyz2191958 发表于 2023-8-17 19:47
PE下没有解决问题

你好,
14楼的代码,我在wePE2.3_64.ISO 运行在vortualBOX 7.0.10 环境中,能正常完成并显示

点评

我这里没有显示 谢谢  详情 回复 发表于 2023-8-18 07:11
回复

使用道具 举报

18#
发表于 2023-8-17 20:44:25 | 只看该作者
yyz2191958 发表于 2023-8-17 19:47
PE下没有解决问题

来个PECMD代码:

ifex C:\=?,a    //查C:盘可用空间
calc b=%a% / 1g # 2  //以G为单位,保留两位小数
mess. [C盘可用空间:%b%GB]

点评

搞错了 是需要查看C盘已用空间  详情 回复 发表于 2023-8-18 07:25
我需要查看剩余空间,谢谢  详情 回复 发表于 2023-8-18 07:03

评分

参与人数 1无忧币 +5 收起 理由
yyz2191958 + 5 我需要查看剩余空间,谢谢

查看全部评分

回复

使用道具 举报

17#
发表于 2023-8-17 20:02:09 | 只看该作者
yyz2191958 发表于 2023-8-17 19:47
PE下没有解决问题

看9#
回复

使用道具 举报

16#
发表于 2023-8-17 19:51:07 来自手机 | 只看该作者
青青草 发表于 2023-8-17 18:46
C盘乘空间?什么意思???

大数乘除麻烦些
回复

使用道具 举报

15#
 楼主| 发表于 2023-8-17 19:47:19 | 只看该作者
PE下没有解决问题

点评

你好, 14楼的代码,我在wePE2.3_64.ISO 运行在vortualBOX 7.0.10 环境中,能正常完成并显示  详情 回复 发表于 2023-8-17 23:43
来个PECMD代码: ifex C:\=?,a //查C:盘可用空间 calc b=%a% / 1g # 2 //以G为单位,保留两位小数 mess. [C盘可用空间:%b%GB]  详情 回复 发表于 2023-8-17 20:44
回复

使用道具 举报

14#
发表于 2023-8-17 19:35:26 | 只看该作者
本帖最后由 9zhmke 于 2023-8-17 19:54 编辑


是这个意思吗?
  1. @echo off
  2. for /f "tokens=3 delims= " %%i in ('dir c:') do set free=%%i
  3. set i=%free:,=%
  4. set free=%i:~0,-6%
  5. echo C盘的空间还有:%free%兆
复制代码
里面确实有个陷阱,使用set /a 来计算时会出因为数值太大而出错


点评

赞一个!!! 直接运行bat,好像没有显示, 但将 @echo off 改为 @echo on ,检查过程是能得到 set free=53132, 手工在CMD窗口执行 echo %free% ,能正常显示 剩余数值  发表于 2023-8-17 22:51
回复

使用道具 举报

13#
发表于 2023-8-17 18:46:55 | 只看该作者
C盘乘空间?什么意思???

点评

大数乘除麻烦些  详情 回复 发表于 2023-8-17 19:51
回复

使用道具 举报

12#
发表于 2023-8-17 18:23:35 来自手机 | 只看该作者
8.1系统自带一个命令行工具,10和7好像没有,支持友好的单位显示已用空间和分区大小

dfp /drives /b
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-12 10:00

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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