中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » 如何在纯dos下用批处理显示分区的已用空间和剩余空间?
« [1] [2] »
作者:
标题: 如何在纯dos下用批处理显示分区的已用空间和剩余空间? 上一主题 | 下一主题
sanxiao88
初级用户





积分 37
发帖 14
注册 2008-2-17
状态 离线
『楼 主』:  如何在纯dos下用批处理显示分区的已用空间和剩余空间?


      如何在纯dos下,即在纯dos7.1或dos6.22下,而不是在XP的dos窗口,用批处理显示分区剩余空间和已用空间?包括FAT32分区和NTFS分区。哪位大虾、高人可以做到?

    我知道在XP的dos下,可以这样:

@echo off
cls
setlocal EnableDelayedExpansion
echo.
echo.
echo        ╔══════════════════════════════╗
echo        ║        磁盘分区         磁盘卷标名      剩余空间(MB)       ║
echo        ║    _____________________________________________________   ║
for %%d in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
    if exist %%d:\nul (
        for /f "tokens=3" %%z in ('dir /-c %%d:\') do set freesize=%%z
        set /a freesize=!freesize:~0,-3!/1049>nul
        set freesize=         !freesize!
        set freesize=!freesize:~-9!
        for /f "tokens=3*" %%v in ('vol %%d:') do set volume=%%w
        set volume=                    !volume!
        set volume=!volume:~-20!
        echo        ║           %%d: !volume!     !freesize!            ║
    )
)
echo        ╚══════════════════════════════╝
pause>nul


[ Last edited by sanxiao88 on 2008-11-5 at 20:55 ]

2008-11-5 20:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 2 楼』:  

dos下的没那么简单,只能去找一些有此功能的一键工具,看里面的脚本。
99%没人专门为你写脚本的。



Windows 一键还原
http://www.yjhy.com
2008-11-5 21:22
查看资料  发短消息 网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 3 楼』:  

用关键词“剩余空间”在本版块搜索一下,一定有答案。



DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2008-11-5 22:25
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 4 楼』:  

http://www.cn-dos.net/forum/viewthread.php?tid=15017



2008-11-6 04:21
查看资料  发短消息 网志   编辑帖子  回复  引用回复
sanxiao88
初级用户





积分 37
发帖 14
注册 2008-2-17
状态 离线
『第 5 楼』:  4楼版主的链接我看了,不行啊!谁有GET.EXE?

4楼版主的链接我看了,不行啊!不过,也要谢谢你们了!
另外,谁有GET.EXE小程序,让我试试这样:

get k c:
strings free=div %get%,1024



[ Last edited by sanxiao88 on 2008-11-6 at 20:53 ]

2008-11-6 20:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 6 楼』:  

"不行啊"是咋个表现形式呢?



2008-11-7 09:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jh1688
中级用户





积分 248
发帖 126
注册 2008-5-30
状态 离线
『第 7 楼』:  

@echo off
:mini_BEGIN
if exist mini_dd.txt del mini_dd.txt
minito /nohp /p /ifs>mini_dd.txt
strings lines=LINESIZE mini_dd.txt
if %lines%#==0# goto fail
strings lines=add %lines%,1
set line=1
echo 硬盘信息:
:mini
strings line=add %line%,1
if %line%#==%lines%# goto mini_1
strings lined=read mini_dd.txt,%line%
strings row1=left %lined%,3
strings row3=mid %lined%,8,2
strings row5=mid %lined%,19,3
strings row7=right %lined%,7
if %row5%#==YES# set actp=%row1%
set lastp=%row1%
set lastd=%row3%
set lastk=%row7%
if not %lined%#==# echo %lined%
goto mini

:mini_1
echo.
echo  请根据上面显示的硬盘信息确认识别结果。
echo.
echo  自动识别结果:
echo  活动分区是:%actp%
echo  最后分区是:%lastp%
echo  最后分区对应的盘符是:%lastd%
echo  最后分区可用空间是:%lastk%Mb
echo.
if exist mini_dd.txt del mini_dd.txt
goto exit

:fail
cls
echo.
echo  很抱歉,本工具采用的软件未能获得有效硬盘信息。
echo.
if exist mini_dd.txt del mini_dd.txt
:exit

理面用到的DOS第三方工具在本坛可以找到,麻烦楼主自己搜一下啦……

2008-11-7 18:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by jh1688 at 2008-11-7 18:01:
@echo off
:mini_BEGIN
if exist mini_dd.txt del mini_dd.txt
minito /nohp /p /ifs>mini_dd.txt
strings lines=LINESIZE mini_dd.txt
if %lines%#==0# goto fail
strings lines=add %lines%,1
set li ...

此法不能处理ntfs分区的剩余空间。



Windows 一键还原
http://www.yjhy.com
2008-11-7 18:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jx1988020488
新手上路





积分 8
发帖 4
注册 2008-10-4
状态 离线
『第 9 楼』:  

显示剩余空间

for %%a in (c: d: e: f:) do (
for /f "tokens=3" %%b in ('dir %%a^|find "可用字节"') do echo %%b 字节>>123.txt
)

2008-11-8 20:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 10 楼』:  



  Quote:
Originally posted by jx1988020488 at 2008-11-8 20:26:
显示剩余空间

for %%a in (c: d: e: f:) do (
for /f "tokens=3" %%b in ('dir %%a^|find "可用字节"') do echo %%b 字节>>123.txt
)

纯dos下能运行吗?呵呵。
看清楚楼主要求。
cmd下的楼主已经有了。



Windows 一键还原
http://www.yjhy.com
2008-11-9 11:49
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 11 楼』:  

pqdi(PowerQuest Drive Image)有此功能,只是个头大了些。
自己稍微处理一下即可。






Windows 一键还原
http://www.yjhy.com
2008-11-9 16:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
sanxiao88
初级用户





积分 37
发帖 14
注册 2008-2-17
状态 离线
『第 12 楼』:  请大家读懂我的要求再回答,也谢谢各位的热心哦


  也许我没有表达清楚,目前为止,还没有很合适的答案,在此,我再详细表述我的要求,希望高人指点,也希望更多的人参与讨论,哪怕抛砖引玉也可以。谢谢!题目要求是:
    1.在纯dos下,即用DOS7.1或dos6.22启动盘引导后,A:\>,而不是在XP或win2000的cmd窗口执行
    2.用批处理包括借助其它第3方小工具软件得到各个分区(包括FAT32分区和NTFS分区)的剩余空间和已用空间的数值?包括FAT32分区和NTFS分区。cmd下的我已经有很多了。




2008-11-15 13:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
youkaib
初级用户





积分 61
发帖 22
注册 2008-10-19
状态 离线
『第 13 楼』:  

加个外部命令即可。具体这样写。
@echo off
echo 请在列出驱动器:
fsutil fsinfo drives
echo 是否查询驱动器空间
set /p a=(y/n):
if "%a%"=="n" exit
echo 正在列出驱动器的磁盘空间:
for %%i in (c: d: e: f: g: h: i: j: k:) do (
echo %%i 使用是:
fsutil volume diskfree %%i
echo.
)
echo 操作完成!
echo 欢迎您加入QQ74487678群。许多高手期待着您的加入。
pause >nul
这个更明确一点,比用你的dir方便多了。不过有个缺陷,就是遇到未知设备会报错。这个需要将前面再扩充几条语句。

2008-11-16 13:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 14 楼』:  



  Quote:
Originally posted by youkaib at 2008-11-16 13:20:
加个外部命令即可。具体这样写。
@echo off
echo 请在列出驱动器:
fsutil fsinfo drives
echo 是否查询驱动器空间
set /p a=(y/n):
if "%a%"=="n"  ...

看看别人的要求吧,此类脚本手里已有多种了。呵呵。

难道真是不明白什么是dos?

1.在纯dos下,即用DOS7.1或dos6.22启动盘引导后,A:\>,而不是在XP或win2000的cmd窗口执行;
    2.用批处理包括借助其它第3方小工具软件得到各个分区(包括FAT32分区和NTFS分区)的剩余空间和已用空间的数值?包括FAT32分区和NTFS分区。cmd下的我已经有很多了。




Windows 一键还原
http://www.yjhy.com
2008-11-16 16:11
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 15 楼』:  

11楼推荐的pqdi,是一个能满足要求的工具,看来你还看不上,呵呵。



Windows 一键还原
http://www.yjhy.com
2008-11-16 16:13
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: