中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-04 14:20
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何才能 用FOR 把H:提出来
可打印版本  756 / 8
第1楼 ww111222 发表于 2007-05-13 18:19
中级用户 发帖 83 积分 354
如何才能 用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
第2楼 lxmxn 发表于 2007-05-13 19:17
版主 发帖 4,938 积分 11,386
要提取那个 H: 一行,看看它那一行和别的行有什么区别和特征,再来对症下药。

我找不到它和别的行有什么区别,貌似 [1KEYRESTORE] 是个标志?
第3楼 terse 发表于 2007-05-13 20:16
银牌会员 发帖 946 积分 2,404
@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 ]
第4楼 ww111222 发表于 2007-05-14 01:32
中级用户 发帖 83 积分 354
谢谢,两位 指点,

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

我想唯一的 条件是

Desc *: 1.×:

这个× 是最大的 就是了
第5楼 TBAGE 发表于 2007-05-14 02:56
初级用户 发帖 20 积分 39
学习。。。。。。。。。。。。。。。。。。。。。。
第6楼 ttyp 发表于 2007-05-14 09:34
初级用户 发帖 84 积分 180
@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
第7楼 zouzhxi 发表于 2007-05-14 09:55
中级用户 发帖 177 积分 430 来自 广东深圳
如何将
K810-019 <00> UNIQUE Registered
里边的k810-019提取出来...????
第8楼 flyinspace 发表于 2007-05-14 11:56
银牌会员 发帖 517 积分 1,206
可以通过比较大小提出来。。。

path h:
path d:

通过比较 h 和 d 的大小就可以了。
第9楼 lxmxn 发表于 2007-05-14 12:03
版主 发帖 4,938 积分 11,386
Originally posted by zouzhxi at 2007-5-14 09:55:
如何将里边的k810-019提取出来...????

新问题请重新开帖提出。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023