Board logo

标题: 如何判断D盘的剩余空间是否大于1G? [打印本页]

作者: mp3down     时间: 2006-12-13 03:12    标题: 如何判断D盘的剩余空间是否大于1G?

请问: 如何判断D盘的剩余空间是否大于1G? 谢谢.
作者: mp3down     时间: 2006-12-13 03:34
补充: 要在纯DOS下能够正常运行,谢谢.
作者: yusir0710     时间: 2006-12-18 15:25
@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 ]
作者: NaturalJ0     时间: 2006-12-18 22:32
楼上这个是在 CMD 下用的,在纯 DOS 下不能用。
纯 DOS 下怎么判断我暂时还没想到。
作者: redtek     时间: 2006-12-19 02:38
这个有意思~:)
不知道mp3down兄在一些类似一键恢复盘等工具盘中是否找到了他们是用的什么方法?


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

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

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

兄可以发贴到论坛的  “DOS开发编程 & 发展交流 (开发室)” 问问直接Debug操作上面原理代码是什么,或许能解燃眉之急~:)
作者: lianjiang2004     时间: 2006-12-19 02:49
GMY的一键GHOST,本身不判断保存备份的分区可用空间大小,而是在ghost出错时根据ghost生成的出错文件提供原因。
作者: lizaoyou     时间: 2007-2-9 22:53
在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 ]
作者: nicesoft     时间: 2007-5-1 19:35
哦,谢谢