中国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
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: