楼 主
请教用批处理判断硬盘大小
发表于 2007-12-28 10:32 · 中国 重庆 沙坪坝区 电信
中级用户
★★
金牌会员
积分 315 发帖 152 注册 2007-01-25 23:55 19年会员 UID 77669 性别 男
状态 离线
我这里有两种硬盘
80G和160个
我想用批处理判断硬盘大小
如果硬盘是80G的``就运行程序1.exe
如果是160的硬盘 就运行程序1.exe 2.exe
请问这个批处理该怎么写呢?我查询了很久也没有找到答案``
第 2 楼
发表于 2007-12-28 11:14 · 中国 江苏 苏州 移动
银牌会员
★★★
积分 1,608 发帖 780 注册 2007-10-07 10:19 18年会员 UID 99089 性别 男
状态 离线
既然是两个,只要判断一个就行了
@echo off&setlocal enabledelayedexpansion
for /f "skip=1" %%i in ('wmic diskdrive get size') do (
set a=%%i
if "!a:~0,1!"=="8" (start 1.exe) else (strat 1.exe&2.exe)
)
pause
第 3 楼
发表于 2007-12-28 11:24 · 中国 上海 联通
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 19年会员 UID 89899 性别 男
状态 离线
@echo off
for /f "tokens=1,* delims==" %%a in ('wmic DISKDRIVE get size /value ^| findstr /i Size') do set DiskSize=%%b&&goto :begin
:begin
if "%DiskSize%" equ "80023265280" (
start 1.exe
) else (
start 2.exe
)
第 4 楼
发表于 2007-12-28 13:07 · 中国 江苏 常州 武进区 电信
银牌会员
★★★
积分 2,404 发帖 946 注册 2005-09-08 13:44 20年会员 UID 42345
状态 离线
以HAT兄的改了一下:
(因为我发现我的80G的盘不是80023265280 而是80023749120 所以取前两位)
@echo off
for /f "usebackq" %%i in (`wmic DISKDRIVE get size /value ^| find /i "size="`) do set %%i
if "%size:~,2%"=="80" (start 1.exe)else (start 1.exe&&2.exe)
pause
[
Last edited by terse on 2007-12-28 at 01:16 PM ]
本帖最近评分记录
(共 1 条)
点击查看详情
评分人 分数 时间
fengzi
+2
2007-12-28 14:15
简单!简单!再简单!
第 5 楼
发表于 2007-12-28 13:18 · 中国 重庆 沙坪坝区 电信
中级用户
★★
金牌会员
积分 315 发帖 152 注册 2007-01-25 23:55 19年会员 UID 77669 性别 男
状态 离线
第 6 楼
发表于 2007-12-28 13:38 · 中国 重庆 电信
初级用户
★
积分 40 发帖 19 注册 2007-12-21 01:50 18年会员 UID 106322 性别 男
状态 离线
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正