![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-07 14:27 |
共 48,040 主题排行 / 350,125 发帖 / 今日 0 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 求助,如何获取磁盘容量 |
| 可打印版本 2,028 / 21 |
| 第16楼 fastslz | 发表于 2008-02-22 11:47 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
Originally posted by fastslz at 2008-2-22 11:45: 运行环境Windows XP Professional 系统管理员身份 |
|
| 第17楼 beyond18wu | 发表于 2008-02-22 12:43 |
| 初级用户 发帖 9 积分 22 | |
|
我是用的4楼的,我把代码改为
@echo off for /f "skip=1 delims= " %%a in ('"Wmic LogicalDisk Where DriveType="2" Get DeviceID|find /v "A:""') do set drivename=%%a pause 如果电脑未接移动磁盘的话 set drivename=%%a 会是什么结果? drivename 有没有赋值? 我是想当电脑未接可移动磁盘的时候提示输出 :未找到可移动磁盘 [ Last edited by beyond18wu on 2008-2-22 at 12:47 PM ] |
|
| 第18楼 terse | 发表于 2008-02-22 12:58 |
| 银牌会员 发帖 946 积分 2,404 | |
|
@echo off&color b
for /f "skip=1" %%a in ('wmic logicaldisk where "drivetype='2'" get DeviceID 2^>nul') do set p=%%a if "%p%"=="" echo.&echo 未找到可移动磁盘 &echo.&pause&goto :eof for /f "tokens=2 delims==" %%i in ('wmic logicaldisk where caption^=^"%p%^" get freespace /value 2^>nul') do set m=%%i set m3=%m:~0,7% set m=%m:~7% call :loop "1048576" :loop1 if %m2% LSS 1024 echo.&cls&echo.&echo.&echo. %p% 盘剩余空间为 %m2% MB&pause>nul&goto :eof set m=%m2% set m3=%m:~0,3% set/a m=%m:~3%*1000 for %%i in (m1 m2) do set %%i= call :loop "1024" for /f "delims=0 tokens=*" %%i in ("%m2%") do set m=%%i set g=%m:~0,-3%. set g=%g%%m:~-3,3% G cls :m echo. echo. echo. %p% 盘剩余空间为 %g% echo. pause>nul goto :eof :loop set /a m1=%m3%%m:~0,1%/%~1 set m2=%m2%%m1% set /a m3=%m3%%m:~0,1%%%%~1 if %m3% equ 0 set m3= set m=%m:~1% if not "%m%"=="" goto loop goto :eof |
|
| 第19楼 beyond18wu | 发表于 2008-02-22 13:06 |
| 初级用户 发帖 9 积分 22 | |
|
感谢18楼,非常感谢
|
|
| 第20楼 beyond18wu | 发表于 2008-02-22 13:17 |
| 初级用户 发帖 9 积分 22 | |
|
我想再问下:
set m3=%m:~0,7% set m=%m:~7% 这两句看不懂,能帮解释下吗 |
|
| 第21楼 beyond18wu | 发表于 2008-02-22 14:43 |
| 初级用户 发帖 9 积分 22 | |
|
看懂了,字符截取
|
|
| 第22楼 fastslz | 发表于 2008-02-22 16:39 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
Originally posted by beyond18wu at 2008-2-22 12:43: 这个其实很简单最后加上if not defined freesize echo 未找到可移动磁盘就OK了 4楼代码优化过了 |
|
| 上一页 1 2 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |