中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教:如何根据盘符,确定分区号。【已解决】
作者:
标题: 请教:如何根据盘符,确定分区号。【已解决】 上一主题 | 下一主题
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『楼 主』:  请教:如何根据盘符,确定分区号。【已解决】

请教:如何根据盘符,确定分区号。 缘由:自定义路径及文件名,用ghost来自动备份系统。 比如,自定义路径及文件名如下: F:\backup\sys.gho 如何根据ghost -dd 生成的GHSTSTAT.TXT文件来确定分区号(有其他更好方法亦可)?即根据F:,找出1:5。 环境:windowsXP下。 谢谢! --------------- GHSTSTAT.TXT的相关部分如下: Remote Drives AsyncIo : 0 Image Devices Key[1] 1:1 Key[2] C: Path C: Desc C: 1:1 [winxp] Type NTFS Disk 0 Offset 63 Key[1] 1:2 Path 1:2 Desc 1:2 [pwin2k] Type NTFS Disk 0 Offset 15438465 Key[1] 1:3 Key[2] D: Path D: Desc D: 1:3 [PROGRAM] Type NTFS Disk 0 Offset 30732408 Key[1] 1:4 Key[2] E: Path E: Desc E: 1:4 [MYDATA] Type NTFS Disk 0 Offset 51215283 Key[1] 1:5 Key[2] F: Path F: Desc F: 1:5 [APPZ] Type FAT Disk 0 Offset 81947628 Key[1] 1:6 Key[2] G: Path G: Desc G: 1:6 [DV] Type NTFS Disk 0 Offset 143396253 Key[1] H: Path H: Desc H: Type CD [ Last edited by lianjiang2004 on 2006-11-21 at 11:12 PM ]


2006-11-21 11:31
查看资料  发短消息  网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 2 楼』:  

@echo off
set/p pan=请输入所要查找的盘符,格式是[盘符:]:
for /f "tokens=2-3" %%i in ('type GHSTSTAT.TXT ^| find "Desc"') do (
	if /i "%%i"=="%pan%" echo %%j
)
pause
  输入的时候,要注意加冒号,比如:"d:"。   经过测试,可以行。备份操作命令你就自己写吧。本人没有玩过Ghost.


   此帖被 +1 点积分    点击查看详情   
评分人:【 redtek 分数: +1  时间:2006-11-21 23:39


2006-11-21 14:06
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 3 楼』:  

试了,可以用。多谢了。有问题再请教。 原来是参考了别人DOS下的批处理,很麻烦。这下好了。 --------------------- REM 根据设定文件,自动创建目录及批处理。 :p10 type GHSTSTAT.TXT|find /i " %drive%: 1:10 " >nul if errorlevel 1 goto p9 set wst=10 goto sub_2 :p9 type GHSTSTAT.TXT|find /i " %drive%: 1:9 " >nul if errorlevel 1 goto p8 set wst=9 goto sub_2 :p8 type GHSTSTAT.TXT|find /i " %drive%: 1:8 " >nul if errorlevel 1 goto p7 set wst=8 goto sub_2 :p7 type GHSTSTAT.TXT|find /i " %drive%: 1:7 " >nul if errorlevel 1 goto p6 set wst=7 goto sub_2 :p6 type GHSTSTAT.TXT|find /i " %drive%: 1:6 " >nul if errorlevel 1 goto p5 set wst=6 goto sub_2 :p5 type GHSTSTAT.TXT|find /i " %drive%: 1:5 " >nul if errorlevel 1 goto p4 set wst=5 goto sub_2 :p4 type GHSTSTAT.TXT|find /i " %drive%: 1:4 " >nul if errorlevel 1 goto p3 set wst=4 goto sub_2 :p3 type GHSTSTAT.TXT|find /i " %drive%: 1:3 " >nul if errorlevel 1 goto p2 set wst=3 goto sub_2 :p2 type GHSTSTAT.TXT|find /i " %drive%: 1:2 " >nul if errorlevel 1 goto err_f set wst=2 goto sub_2 :err_f cls echo. echo 第一硬盘可能只有一个分区,无法进行自动备份 echo 请用PM等工具至少分出两个分区 echo ==================== pause GOTO Exit :sub_2 echo %save1%1:%wst%:%the_path%%save3%>bat\_bf.bat echo %load1%1:%wst%:%the_path%%load3%>bat\_hf.bat del GHSTSTAT.TXT cls echo. echo 当前设置为:%drive%:%the_path% 即1:%wst%:%the_path%


2006-11-21 23:11
查看资料  发短消息  网志   编辑帖子  回复  引用回复
srleopard
初级用户





积分 29
发帖 15
注册 2006-11-21
状态 离线
『第 4 楼』:  

看了很久可是没有看懂什么,只怪自己太笨了.


2006-11-22 01:52
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 5 楼』:  

试着运行一下。




三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
2006-11-22 01:56
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
120144008
新手上路





积分 9
发帖 4
注册 2006-10-29
状态 离线
『第 6 楼』:  

顶一下子了啊..


2006-11-22 14:17
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: