Board logo

标题: 请教:如何根据盘符,确定分区号。【已解决】 [打印本页]

作者: lianjiang2004     时间: 2006-11-21 11:31    标题: 请教:如何根据盘符,确定分区号。【已解决】

请教:如何根据盘符,确定分区号。

缘由:自定义路径及文件名,用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 ]
作者: lxmxn     时间: 2006-11-21 14:06

@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.

作者: lianjiang2004     时间: 2006-11-21 23:11
试了,可以用。多谢了。有问题再请教。
原来是参考了别人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%
作者: srleopard     时间: 2006-11-22 01:52
看了很久可是没有看懂什么,只怪自己太笨了.
作者: ccwan     时间: 2006-11-22 01:56
试着运行一下。
作者: 120144008     时间: 2006-11-22 14:17
顶一下子了啊..