中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-16 11:21
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请问什么软件可以通过分区卷标名称查找分区? 查看 5,358 回复 33
楼 主 请问什么软件可以通过分区卷标名称查找分区? 发表于 2004-04-07 00:00 ·  中国 广东 河源 电信
高级用户
★★
积分 916
发帖 201
注册 2003-05-04 00:00
UID 1849
性别 男
状态 离线
比如E盘的卷标是“BACKUP”,这个软件通过查找卷标“BACKUP”而找到E盘,而且
可以使其它软件如XXCOPY等向E盘复制文件。
请问有这样的软件吗?
2 发表于 2004-04-07 00:00 ·  中国 辽宁 朝阳 联通
铂金会员
★★★★
痴迷DOS者
积分 5,798
发帖 1,924
注册 2003-06-20 00:00
UID 5583
性别 男
来自 金獅電腦軟體工作室
状态 离线
还是自己动手、丰衣足食吧。
熟能生巧,巧能生精,一艺不精,终生无成,精亦求精,始有所成,臻于完美,永无止境!
金狮電腦軟體工作室愿竭诚为您服务!
QQ群:8393170(定期清理不发言者)
个人网站:http://www.520269.cn
电子邮件:doujiehui@vip.qq.com
微信公众号: doujiehui
3 发表于 2004-04-07 00:00 ·  中国 河北 石家庄 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
UID 1565
性别 男
来自 河北保定
状态 离线
只要用程序就没有很多东西不可以实现的。

我给你一个提示:
vol c: | grep drive | lmod /L1 set label= > temp.bat
call temp.bat
del temp.bat
echo %label%

上面所用到的命令你可以下载这个文件:
http://climbing.minidns.net/clone/dostools.zip
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
4 发表于 2004-04-07 00:00 ·  中国 广东 河源 电信
高级用户
★★
积分 916
发帖 201
注册 2003-05-04 00:00
UID 1849
性别 男
状态 离线
Climbing兄,我的意思是:让电脑自动地寻找卷标是“BACKUP”的分区(一切都是自动),这个分区有可能是E盘有可能是F盘等,找到后调动XXCOPY将C盘的AA.TXT这个文件复制到这个分区。
这样怎样实现?
5 发表于 2004-04-08 00:00 ·  中国 河北 石家庄 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
UID 1565
性别 男
来自 河北保定
状态 离线
自己动脑好好想一想,如果我手把手都告诉你了,你还会进步吗?我已经把最重要的部分告诉你了,余下的都是一些小操作,自己补足就行了。
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
6 发表于 2004-04-08 00:00 ·  中国 广东 河源 电信
高级用户
★★
积分 916
发帖 201
注册 2003-05-04 00:00
UID 1849
性别 男
状态 离线
谢谢!那我再试试看。
问一个与本主题不同的问题:
用MS-DOS7.1启动盘可以向硬盘的主分区传送系统(用SYS或FORMAT /S方式),传送赛后该主分区就可以启动了。但PC-DOS7.10既没有SYS命令也没有FORMAT /S命令,请问怎样才能使用PC-DOS7.1传到主分区并使主分区启动?(单纯将IBMBIO等几个文件复制到主分区是不会启动的)
7 发表于 2004-04-08 00:00 ·  中国 河北 石家庄 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
UID 1565
性别 男
来自 河北保定
状态 离线
嘿嘿,干嘛这么费劲,直接往你的7.1的启动盘上放上一个sys或者format命令不就完了,又没有多大。实在不行,可以用Bart的mkbt命令+文件复制的方法。
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
8 发表于 2004-04-08 00:00 ·  中国 广东 河源 电信
高级用户
★★
积分 916
发帖 201
注册 2003-05-04 00:00
UID 1849
性别 男
状态 离线
MS-DOS的SYS和FORMAT在PC-DOS下是不能用的。
mkbt只能将制作可启动软盘,不支持硬盘分区。
怎么办?
9 发表于 2004-04-08 00:00 ·  中国 河北 石家庄 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
UID 1565
性别 男
来自 河北保定
状态 离线
抱歉,我没有看清楚,原来你用的是PC-DOS,我从来没有用过PC-DOS,不太了解,不过任何DOS都不可能没有Sys和Format命令的,是你下载的版本有问题吧?

MKBT默认情况下确实是只能针对软盘操作,但如果加上-x参数,好象就可以对硬盘进行操作,你可以试一下。
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
10 发表于 2004-04-08 00:00 ·  中国 广东 河源 电信
高级用户
★★
积分 916
发帖 201
注册 2003-05-04 00:00
UID 1849
性别 男
状态 离线
谢谢Climbing!
MKBT我曾用过加上-x参数,显示好象可以,但还是不能启动。
这个问题这里的版主WENGIER曾说过PC-DOS7.1是没有SYS命令的,PC-2000有但又不支持FAT32分区。
11 发表于 2004-04-08 00:00 ·  中国 河北 石家庄 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
UID 1565
性别 男
来自 河北保定
状态 离线
如果是这样,不知道因为什么你一定要用pc-dos,不能用ms-dos 7.10吗?

其实,一个分区能够引导dos是很简单的:
1、引导扇区是对应dos系统的引导扇区。
2、分区是该dos系统可以访问的文件系统。
3、分区上有相应的dos系统文件(早期的dos系统要求这些系统文件一定要放到最前面,但后来好象逐渐没有这个限制了,不知道pc-dos有没有这个限制)。

按照这个步骤来解决问题吧。
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
12 发表于 2004-04-09 00:00 ·  中国 广东 河源 电信
高级用户
★★
积分 916
发帖 201
注册 2003-05-04 00:00
UID 1849
性别 男
状态 离线
以下是引用Climbing在2004-4-7 13:35:44的发言:
只要用程序就没有很多东西不可以实现的。

我给你一个提示:
vol c: | grep drive | lmod /L1 set label= > temp.bat
call temp.bat
del temp.bat
echo %label%

上面所用到的命令你可以下载这个文件:
http://climbing.minidns.net/clone/dostools.zip


我实在想不到有什么命令可以通过label而找到分区。(怒我知识太贫)
比如,通过你的程序得知C盘的label是SYS,但这都我们肉眼所看到的呀,批处理又不会识别只要label是SYS就向它复制文件。我只知道批处理可以通过errorlevel来判断,不知怎样通过屏显(echo)来判断。
请再指点一下好吗?哪个命令可以通过屏显(echo)来判断?
13 发表于 2004-04-09 00:00 ·  中国 河北 石家庄 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
UID 1565
性别 男
来自 河北保定
状态 离线
老大,I 服了 You,你就不能脑袋转个弯吗?

第一个文件IsReady.bat:
@echo off
dready %1 > nul
if errorlevel 1 goto _quit
if errorlevel 0 set drives=%1 %drives%

:_quit

第二个文件:ChkLabel.bat
@echo off
set chkdrv=%1
if "%chkdrv%"=="" goto _usage
vol %chkdrv% | grep drive | lmod /L1 set label= > temp.bat
call temp.bat
del temp.bat
set BackDrive=
if "%label%"=="BACKUP" set BackDrive=%chkdrv%
goto _quit

:_usage
echo Error: Bad command line parameters.
echo Usage: ChkLabel
echo For example: ChkLable E:

:_quit
set chkdrv=


第三个文件FindBack.bat:
@echo off
set drives=
for %%D in (C: D: E: F: G: H: I: J: K: L: M: N: O: P: Q: R: S: T: U: V: W: X: Y: Z DO Call IsReady %%D
set BackDrive=
for %%D in (%drives%) DO call ChkLabel.bat %%D
if not "%BackDrive%"=="" goto _found
goto _notfound

:_found
echo 找到Backup分区在盘符%BackDrive%,准备备份数据到该盘
copy FileToBackup %BackDrive%\
if exist %BackDrive%\FiletoBackup echo Backup Successfully!
goto _quit

:_notfound
echo Error: 我不能找到你的Backup分区!
pause

:_quit
set drives=
set BackDrive=
set label=


偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
14 发表于 2004-04-09 00:00 ·  中国 广东 河源 电信
高级用户
★★
积分 916
发帖 201
注册 2003-05-04 00:00
UID 1849
性别 男
状态 离线
哎呀,你才是老大呀,不是我的脑袋不转弯,这么复杂的批处理,我真的不会呀。我也是要工作的,没学过电脑知识,平时又没那么多时间研究,嘿嘿,只好“拿来主义”了
真的谢谢你!
15 发表于 2004-04-09 00:00 ·  中国 广东 河源 电信
高级用户
★★
积分 916
发帖 201
注册 2003-05-04 00:00
UID 1849
性别 男
状态 离线
Climbing兄,这个对你来说很简单对我很复杂的批处理运行出错,显示“Error: 我不能找到你的Backup分区!”三个文件dready、grep、lmod 都准备好的。整个批处理都粘贴上去的,只是改了COPY文件的名称。你有测试过吗?
论坛跳转: