中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-10 14:09
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,255 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何判断D盘的剩余空间是否大于1G?
可打印版本  2,378 / 7
第1楼 mp3down 发表于 2006-12-13 03:12
初级用户 发帖 14 积分 43
如何判断D盘的剩余空间是否大于1G?
请问: 如何判断D盘的剩余空间是否大于1G? 谢谢.
第2楼 mp3down 发表于 2006-12-13 03:34
初级用户 发帖 14 积分 43
补充: 要在纯DOS下能够正常运行,谢谢.
第3楼 yusir0710 发表于 2006-12-18 15:25
新手上路 发帖 2 积分 6
@ECHO OFF
setlocal EnableDelayedExpansion
for /f "tokens=3" %%i in ('dir /-c D:\') do set freesize=%%i
set /a freesize=!freesize:~0,-6!/1024>nul
ECHO %freesize%
set /a 基准容量=1
PAUSE
IF %freesize% GTR %基准容量% goto gtr
ECHO 空间小于%基准容量%G
pause
exit
:gtr
ECHO 空间大于%基准容量%G
pause

[ Last edited by yusir0710 on 2006-12-18 at 02:37 AM ]
第4楼 NaturalJ0 发表于 2006-12-18 22:32
银牌会员 发帖 533 积分 1,181
楼上这个是在 CMD 下用的,在纯 DOS 下不能用。
纯 DOS 下怎么判断我暂时还没想到。
第5楼 redtek 发表于 2006-12-19 02:38
金牌会员 发帖 1,147 积分 2,902
这个有意思~:)
不知道mp3down兄在一些类似一键恢复盘等工具盘中是否找到了他们是用的什么方法?


汇编…36H 号功能调用可以取得空闲磁盘空间,然后用prompt方式操作Debug直接写汇编代码,这样可以不生成临时文件。

(另:上面方法是不调用第三方工具可以实现的)
(  然后继续在Debug里直接比对是否大于1G或是小于1G,调用4CH DOS功能将一个标置数返回给ERRORLEVEL 由批处理判断)
(理论上完全可以实现)

上面只是给兄的一个建议,我不会编~:)

兄可以发贴到论坛的 “DOS开发编程 & 发展交流 (开发室)” 问问直接Debug操作上面原理代码是什么,或许能解燃眉之急~:)
第6楼 lianjiang2004 发表于 2006-12-19 02:49
金牌会员 发帖 1,884 积分 3,946
GMY的一键GHOST,本身不判断保存备份的分区可用空间大小,而是在ghost出错时根据ghost生成的出错文件提供原因。
第7楼 lizaoyou 发表于 2007-02-09 22:53
中级用户 发帖 85 积分 210 来自 广东广州
在dos下实现较繁,以下是使用批处理扩展strings.com的一个例子:

@echo off
echo.
set v=
dir d:\|find "free">tmp
strings s=read tmp,1
strings/p- s=mid %s%-9
strings/p- s=parse %s%-1
strings/p- s1=parse %s%-1-,
strings/p- s2=parse %s%-2-,
strings/p- s3=parse %s%-3-,
strings v=sub %s1%%s2%%s3%,1024>unl
if "%v%"=="" goto lss
echo DiskFree ">" 1GB
goto end
:lss
echo DiskFree "<" 1GB
:end
del tmp
echo.

[ Last edited by lizaoyou on 2007-2-9 at 09:55 AM ]
第8楼 nicesoft 发表于 2007-05-01 19:35
初级用户 发帖 47 积分 98
哦,谢谢
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023