中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-08 02:29
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]如何正确的获得纯DOS下的最后分区盘符? 查看 7,705 回复 65
16 发表于 2007-12-22 12:11 ·  中国 安徽 马鞍山 电信
金牌会员
★★★★
积分 3,946
发帖 1,884
注册 2006-01-20 13:00
20年会员
UID 49283
性别 男
状态 离线
windows下的办法,上面你找的办法应该可以了吧?

[ Last edited by lianjiang2004 on 2007-12-24 at 08:01 AM ]
Windows 一键还原
http://www.yjhy.com
17 发表于 2007-12-22 13:17 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,284
发帖 538
注册 2002-11-02 00:00
23年会员
UID 129
性别 男
状态 离线
应用在GHOST恢复的路径指定,全自动方式的,无需手工更改,直接在CMD下完成

补充一句,还联合影子系统批处理安装的,自动修改BOOT.INI、AUTOEXEC.BAT、CONFIG.SYS、支持中文菜单显示...等等

影子系统2008:现时只有智冠工作室的属真正破解,但安装庞大。这个问题我已解决!只须几十KB就搞定了。(此项在纯DOS下绝对安装不了的)

BOOT.INI: 在 http://www.cn-dos.net/forum/viewthread.php?tid=36376&fpage=1 得到解决方法

AUTOEXEC.BAT & CONFIG.SYS 的中文显示在中文版块有详细介绍。

只欠东风了:如题

[ Last edited by chishingchan on 2007-12-22 at 01:25 PM ]
18 发表于 2007-12-22 13:22 ·  中国 安徽 马鞍山 电信
金牌会员
★★★★
积分 3,946
发帖 1,884
注册 2006-01-20 13:00
20年会员
UID 49283
性别 男
状态 离线
特定机子用?还是通用?
Windows 一键还原
http://www.yjhy.com
19 发表于 2007-12-22 13:23 ·  中国 安徽 马鞍山 电信
金牌会员
★★★★
积分 3,946
发帖 1,884
注册 2006-01-20 13:00
20年会员
UID 49283
性别 男
状态 离线
用意不明白,呵呵。

[ Last edited by lianjiang2004 on 2007-12-24 at 08:01 AM ]
Windows 一键还原
http://www.yjhy.com
20 发表于 2007-12-22 13:30 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,284
发帖 538
注册 2002-11-02 00:00
23年会员
UID 129
性别 男
状态 离线
当然是通用的啦,按照我说的思路绝对行得通:查看FAT字符,按个数分配,3个的就属E:、5个的话就属G:(相关命令行请看前几楼)
21 发表于 2007-12-22 13:33 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,284
发帖 538
注册 2002-11-02 00:00
23年会员
UID 129
性别 男
状态 离线
Originally posted by lianjiang2004 at 2007-12-22 01:23 PM:
那需要盘符吗?指定分区号不就完了?
用意不明白,呵呵。


用意说到这里各位大概也知道了吧?!指定分区也就掺入了人工处理的成份了。
22 发表于 2007-12-22 13:39 ·  中国 安徽 马鞍山 电信
金牌会员
★★★★
积分 3,946
发帖 1,884
注册 2006-01-20 13:00
20年会员
UID 49283
性别 男
状态 离线
不满足你要的条件的话,如何处理?等等。
恕我愚昧,本人到现在对你的意图不明白的还太多了。呵呵。

[ Last edited by lianjiang2004 on 2007-12-24 at 08:02 AM ]
Windows 一键还原
http://www.yjhy.com
23 发表于 2007-12-22 13:42 ·  中国 安徽 马鞍山 电信
金牌会员
★★★★
积分 3,946
发帖 1,884
注册 2006-01-20 13:00
20年会员
UID 49283
性别 男
状态 离线
何况windows下,你数出的E:,dos也不见得就一定是E:。

对于你的这个问题,本人知道的就这么一点点,无能为力了。
Windows 一键还原
http://www.yjhy.com
24 发表于 2007-12-22 13:44 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,284
发帖 538
注册 2002-11-02 00:00
23年会员
UID 129
性别 男
状态 离线
Originally posted by lianjiang2004 at 2007-12-22 12:11 PM:
不知道windows下手动修改盘符后,会是一个什么结果。
最关键的,不知你取得盘符后的目的是什么?
特定机子用?还是通用?
windows下的办法,上面你找的办法应该可以了吧?
还在寻求什么答案?


就是不知怎样将两个命令行合理的串联或修改啊,思路是有,但技术有限嘛!
25 发表于 2007-12-22 13:46 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,284
发帖 538
注册 2002-11-02 00:00
23年会员
UID 129
性别 男
状态 离线
Originally posted by lianjiang2004 at 2007-12-22 01:42 PM:
何况windows下,你数出的E:,dos也不见得就一定是E:。

对于你的这个问题,本人知道的就这么一点点,无能为力了。


你也挺强的嘛,2006注册的到现在成了金牌会员了。这点问题应该难不了你啊?!:D
26 发表于 2007-12-22 13:49 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,284
发帖 538
注册 2002-11-02 00:00
23年会员
UID 129
性别 男
状态 离线
lxmxn 版主在不在?“超级潜水员” 的很多问题都让你解决了。这个可否思考一下帮忙解决呢?
27 参考这个命令 发表于 2007-12-22 15:08 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
WMIC LOGICALDISK WHERE "FILESYSTEM LIKE '%FAT%' AND DRIVETYPE<4" GET NAME,FILESYSTEM,FREESPACE,SIZE
28 发表于 2007-12-22 16:11 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,284
发帖 538
注册 2002-11-02 00:00
23年会员
UID 129
性别 男
状态 离线
lxmxn 版主
还有下文呢!?

因为我的电脑所有分区都是FAT32格式的,测试可能不妥。

能否给个完整的批处理啊?

[ Last edited by chishingchan on 2007-12-22 at 04:16 PM ]
29 发表于 2007-12-22 16:19 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,284
发帖 538
注册 2002-11-02 00:00
23年会员
UID 129
性别 男
状态 离线
在批处理得不到结果,显示:无可用范例。但在命令行中可行,这个跟5楼下面的代码相近啊
30 发表于 2007-12-23 02:17 ·  中国 山西 太原 联通
银牌会员
★★★
天的白色影子
积分 2,343
发帖 636
注册 2004-03-06 00:00
22年会员
UID 19350
性别 男
状态 离线
未详细测试


:: LocBak.bat qzwqzw 2007-12-22
:: 定位系统盘与备份盘分区编号与可用盘符
@echo off & setlocal EnableDelayedExpansion
set cmdline=wmic logicaldisk get deviceid,freespace,size ^| find /n "%SystemDrive%"
for /f "tokens=1,3,4 delims= " %%i in ('"%cmdline%"') do (
set /a syspartid=%%i-1
set freesize=%%j
set size=%%k
set /a usedsize=!size:~-12,-6! - !freesize:~-12,-6!
set /a usedsize=usedsize*1000*3/1048/4
)
echo 系统盘为: %SystemDrive%, 分区号为: %syspartid%, 镜像占用约为: %usedsize% MB.

wmic logicaldisk where "drivetype=3" get DeviceID,FileSystem,FreeSpace > %systemdrive%\_drives.txt
set driveid=-1
set dosdriveid=-1
for /f "tokens=1,2,3" %%i in ('type %systemdrive%\_drives.txt') do (
set /a driveid+=1
set filesystem=%%j
if "!filesystem:~0,3!"=="FAT" (
set freesize=%%k
set /a freesize=!freesize:~-12,-6! * 1000 / 1048
set /a dosdriveid+=1
if 1!freesize! geq 1%usedsize% (
set BackupDrive=%%i
set BackupDriveID=!driveid!
set BackupDOSDriveID=!dosdriveid!
)
)
)
if "%BackupDrive%"=="" echo 未找到符合要求的备份盘 & exit /b 1
set BackupDOSDrive=CDEFGHIJKLM
set BackupDOSDrive=!BackupDOSDrive:~%BackupDOSDriveid%,1!:
echo 备份盘为: %BackupDrive% (DOS:%BackupDOSDrive%), 分区号为: %BackupDriveID%, 剩余空间约为: %freesize% MB.
论坛跳转: