Board logo

标题: 如何才能 用FOR 把H:提出来 [打印本页]

作者: ww111222     时间: 2007-5-13 18:19    标题: 如何才能 用FOR 把H:提出来




这是ghost11 生成的 txt文件里的内容

想用for 把 Desc 后面的 H: 提出来 这是 第1硬盘的最后一个分区

Desc H: 1.4:

看了 FOR 的教程,还是搞不明白,能否请教一下


我借鉴的 BAT代码 是把1:4给找出来了

type ghost.bat

@Echo off
ghost -dd >NUL
set p=1
call FindLast.bat 1 2 3 4 5 6 7 8 9 10 11 12 13 14
echo LastPartition:%LastP%
echo.
echo Edit GHOST command at here ...
pause

type findlast.bat

:1
FIND /i "%p%:%1" GHSTSTAT.TXT >NUL
if errorlevel 1 goto 2
set LastP=%p%:%1
Shift
goto 1

:2
del GHSTSTAT.TXT

作者: lxmxn     时间: 2007-5-13 19:17
要提取那个 H: 一行,看看它那一行和别的行有什么区别和特征,再来对症下药。

我找不到它和别的行有什么区别,貌似 [1KEYRESTORE] 是个标志?

作者: terse     时间: 2007-5-13 20:16
@echo off
setlocal enabledelayedexpansion
set LastP=1.4
for /f "tokens=2 delims=, " %%a in ('findstr "\<Desc.*%LastP%\>" 1.txt') do set lp=%%a
echo 最后盘符%lp%
pause
这样行吗?
你可以把你上面的P处理中:
FIND /i "%p%:%1" GHSTSTAT.TXT >NUL改为:
FIND /i "%p%.%1" GHSTSTAT.TXT >NUL
那样要是可行的话 我给的set LastP=1.4就可以不要

Last edited by terse on 2007-5-13 at 08:26 PM ]

作者: ww111222     时间: 2007-5-14 01:32
谢谢,两位 指点,

1.4是第一硬盘的第4个分区, 所以不能指定是1.4

我想唯一的 条件是

Desc *: 1.×:

这个× 是最大的 就是了

作者: TBAGE     时间: 2007-5-14 02:56
学习。。。。。。。。。。。。。。。。。。。。。。

作者: ttyp     时间: 2007-5-14 09:34
@echo off

findstr /i "desc [a-zA-Z]: 1\.\d.*" a.txt>>b.txt
for /f "tokens=3 delims= " %%a in (b.txt) do (
echo %%a>>c.txt
)
sort /r c.txt>d.txt
for /f %%i in (d.txt) do (
call :findlast %%i
goto :end
)


:findlast
for /f "tokens=2 delims= " %%x in ('findstr "%1" b.txt') do echo %%x
goto :eof

:end
@del b.txt
@del c.txt
@del d.txt

作者: zouzhxi     时间: 2007-5-14 09:55
如何将
K810-019 <00> UNIQUE Registered
里边的k810-019提取出来...????

作者: flyinspace     时间: 2007-5-14 11:56
可以通过比较大小提出来。。。

path h:
path d:

通过比较 h 和 d 的大小就可以了。

作者: lxmxn     时间: 2007-5-14 12:03
Originally posted by zouzhxi at 2007-5-14 09:55:
如何将里边的k810-019提取出来...????

新问题请重新开帖提出。