![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-10 15:51 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,255 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]如何在特定条件下获得纯DOS下最后硬盘盘符? |
| 可打印版本 2,135 / 18 |
| 第1楼 chishingchan | 发表于 2008-11-25 23:06 |
| 银牌会员 发帖 538 积分 1,284 | |
|
[求助]如何在特定条件下获得纯DOS下最后硬盘盘符? 其实这个已经有答案,但是使用了WMIC命令作成的。
http://www.cn-dos.net/forum/viewthread.php?tid=36433&fpage=1 要求: 1、无需过渡文件; 2、只使用XP自带的内外部(WMIC 除外) 注:不使用第三方软件 谢谢! |
|
| 第2楼 HAT | 发表于 2008-11-25 23:14 |
| 版主 发帖 5,017 积分 9,023 | |
|
对纯DOS不太熟悉,请教几个问题:
请问纯DOS方式下可以使用WMIC吗?你给的这段代码在纯DOS方式下能得到正确结果吗?你是用的纯DOS是哪个版本呢? |
|
| 第3楼 chishingchan | 发表于 2008-11-26 08:09 |
| 银牌会员 发帖 538 积分 1,284 | |
Originally posted by HAT at 2008-11-25 11:14 PM: 原相关帖子里我说的很清楚也有些朋友会看错,这次问这个问题我索性贴上相关的贴子就是不想再多说了(因为会说的比较长)。 原意是:在CMD的环境里获得在纯DOS环境(不加载读写NTFS格式软件)下所查找到的最后分区盘符,一个硬盘、分区混合FAT32、NTFS。现在为了可以在安装XP时自动运行,所以需要放弃WMIC,HAT版主不妨查看一下那条相关帖子里的详细提问内容,谢谢! |
|
| 第4楼 lianjiang2004 | 发表于 2008-11-26 08:24 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
xp下的结果与dos下的,是毫不相干的两码事。
不知楼主说得是啥,想要干嘛。呵呵。 |
|
| 第5楼 wangff | 发表于 2008-11-26 11:16 |
| 初级用户 发帖 54 积分 134 | |
|
纯! |
|
| 第6楼 chishingchan | 发表于 2008-11-26 11:46 |
| 银牌会员 发帖 538 积分 1,284 | |
Originally posted by lianjiang2004 at 2008-11-26 08:24 AM: 举个例子: C: FAT32 D: FAT32 E: NTFS F: FAT32 G: FAT32 CMD 下获取最后的盘符当然是 G: 了,但我需要在CMD下知道此G:盘当在纯DOS下的盘符是什么。这里一看就会知道纯DOS(不加载NTFS读写及只有一硬盘的情况下)下的盘符是F:了,因为NTFS纯DOS是查看不了的。 现在明白吗? 问题就是:在CMD环境下要知道当在纯DOS下最后的硬盘分区应该是什么? [ Last edited by chishingchan on 2008-11-26 at 11:48 ] |
|
| 第7楼 chishingchan | 发表于 2008-11-26 11:47 |
| 银牌会员 发帖 538 积分 1,284 | |
Originally posted by wangff at 2008-11-26 11:16 AM: |
|
| 第8楼 chishingchan | 发表于 2008-11-26 11:50 |
| 银牌会员 发帖 538 积分 1,284 | |
|
本来以下代码可以实现,但我不想使用WMIC,硬盘分区FAT32及NTFS的请测试。
|
|
| 第9楼 chishingchan | 发表于 2008-11-26 12:29 |
| 银牌会员 发帖 538 积分 1,284 | |
|
流程:检测各个分区的格式,num 的值是统计 FAT32 分区的个数
自己编了一个,错误的,请高手改正: |
|
| 第10楼 wangff | 发表于 2008-11-26 12:47 |
| 初级用户 发帖 54 积分 134 | |
|
@echo off
setlocal EnableDelayedExpansion set drives= CDEFGHIJKLMNOPQRSTUVWXYZ for %%i 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 ( set aa= for /f "tokens=*" %%a in ('chkntfs %%i:^|findstr /i "FAT32"') do ( if not "%%a"=="" set/a num+=1 ) ) set doslastdrive=!drives:~%num%,1!: echo %doslastdrive% pause |
|
| 第11楼 wangff | 发表于 2008-11-26 13:20 |
| 初级用户 发帖 54 积分 134 | |
|
这样U盘也算在内.
|
|
| 第12楼 lianjiang2004 | 发表于 2008-11-26 14:53 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
dos下的最后盘符,不到dos下去确定,而在window下确定,是不合理的。
|
|
| 第13楼 chishingchan | 发表于 2008-11-26 15:12 |
| 银牌会员 发帖 538 积分 1,284 | |
Originally posted by wangff at 2008-11-26 01:20 PM: 以下代码不是很完美,在有光盘在光驱可避过U盘,刚好合适我这个精简的XP。因为此精简XP被记录到光盘上安装的。在安装过程剩余12分钟的时候执行。 期待更好的批处理。 [ Last edited by chishingchan on 2008-11-26 at 15:14 ] |
|
| 第14楼 chishingchan | 发表于 2008-11-26 15:18 |
| 银牌会员 发帖 538 积分 1,284 | |
Originally posted by lianjiang2004 at 2008-11-26 02:53 PM: 在WindowsXP安装时识别纯DOS最后分区作为某个参数写入GHOST的参数文件,使用虚拟软盘启动时也要识别纯DOS最后分区,使GHOST支持一键备份和恢复。 |
|
| 第15楼 lianjiang2004 | 发表于 2008-11-26 15:59 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
只是提出个人的看法和理解,至于如何使用,就是你自己的事了,呵呵。
|
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |