中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-02 06:19
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » 请教,纯DOS下如何获取当前盘符? 查看 3,375 回复 37
31 发表于 2008-01-01 16:26 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,284
发帖 538
注册 2002-11-02 00:00
23年会员
UID 129
性别 男
状态 离线
不好意思,捣错了,以下是最后盘符的答案!



bdrv.exe 这个东西本坛应该可以找得到,nset.com 及 count.com 本坛不知找不找到,后两个是以前在某外国网站下载的(好像跟WBAT有关的网站)
特点:无需生成过渡文件
1、bdrv.exe 执行后生成几行的硬盘盘符
2、nset.com 将 1 生成的盘符赋值于变量
3、count.com 是个计算器,由 Z 盘的值(26)递减


@echo off
set num=26
:check
bdrv|nset lastpart=$%num%
count num -
if "%lastpart%"=="" goto check
echo %lastpart%
pause
:end


[ Last edited by chishingchan on 2008-1-1 at 04:28 PM ]
32 发表于 2008-01-01 20:01 ·  中国 安徽 马鞍山 电信
金牌会员
★★★★
积分 3,946
发帖 1,884
注册 2006-01-20 13:00
20年会员
UID 49283
性别 男
状态 离线
Originally posted by logan0279 at 2008-1-1 12:37:
受达人 qzwqzw 的启法,结合FOR命令,还有一种方法也可以得知U盘启动盘盘符:

for /f "delims=:\ tokens=1" %%i in ('echo %comspec%') do set sysdrive=%%i:

这段码 ...

dos下有这么强大的字符处理能力那就无忧了。呵呵。
不行的。
Windows 一键还原
http://www.yjhy.com
33 发表于 2008-01-01 20:02 ·  中国 安徽 马鞍山 电信
金牌会员
★★★★
积分 3,946
发帖 1,884
注册 2006-01-20 13:00
20年会员
UID 49283
性别 男
状态 离线
Originally posted by logan0279 at 2007-12-30 16:46:
今天无事看下DOS之家的优盘启动盘,发现一个似乎更好的方法:

cd\
dir |find "drive C" && goto bootc

:boota
......

:bootc
......

不过这种方 ...

这种处理方法也是可能出问题的。
u盘写保护时就死掉了。呵呵。
Windows 一键还原
http://www.yjhy.com
34 发表于 2008-01-01 20:20 ·  中国 安徽 马鞍山 电信
金牌会员
★★★★
积分 3,946
发帖 1,884
注册 2006-01-20 13:00
20年会员
UID 49283
性别 男
状态 离线
Originally posted by chishingchan at 2008-1-1 16:26:
不好意思,捣错了,以下是最后盘符的答案!



bdrv.exe 这个东西本坛应该可以找得到,nset.com 及 count.com 本坛不知找不找到,后两个是以前在某外国 ...

不是要当前盘符吗?怎么搞成最后盘符了?呵呵。
另有一帖是要最后盘符的,不过是要CMD的方案。
Windows 一键还原
http://www.yjhy.com
35 发表于 2008-02-25 14:14 ·  中国 河南 洛阳 联通
新手上路
积分 4
发帖 2
注册 2008-02-15 01:13
18年会员
UID 110676
性别 男
状态 离线
Originally posted by lianjiang2004 at 2008-1-1 08:02 PM:

这种处理方法也是可能出问题的。
u盘写保护时就死掉了。呵呵。

这种方法我觉得是最简便的,如果根目录下文件不多的话:)
写保护可以通过set tmp到RAM解决。
36 发表于 2008-02-27 04:20 ·  中国 上海 杨浦区 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
21年会员
UID 35785
性别 男
状态 离线
大家讨论了那么长,可真够辛苦的。4DOS 的一个内部变量就解决问题了:_disk

_DISK returns the current disk drive letter, without a colon (for example, C).
37 发表于 2008-02-27 23:24 ·  中国 浙江 杭州 电信
初级用户
积分 24
发帖 11
注册 2006-12-04 00:09
19年会员
UID 72484
性别 男
状态 离线
很多不错的好办法啊。。。。
38 发表于 2008-02-28 00:47 ·  中国 浙江 杭州 电信
初级用户
九州散人
积分 55
发帖 28
注册 2007-09-14 07:49
18年会员
UID 97342
性别 男
状态 离线
学习一下
论坛跳转: