中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]关于FOR命令的一些问题请求帮助
作者:
标题: [已解决]关于FOR命令的一些问题请求帮助 上一主题 | 下一主题
clear700
新手上路





积分 18
发帖 7
注册 2007-7-2
状态 离线
『楼 主』:  [已解决]关于FOR命令的一些问题请求帮助 使用 LLM 解释/回答一下

我找一个批处理文件内容如下
Set flag=
dmi.exe /f

:check
If Not Exist DMIINFO.TXT Goto check
chcp 936>nul
For /f "tokens=2 delims==" %%i In ('findstr /bi "Product_Name" DMIINFO.TXT') do set type=%%i
Echo 你的型号是:%type% 系统正在分配驱动
ping -n 6 %computername%>nul
Set type=%type:*-=%
For /l %%i In (1,1,9) Do If "%type:~1,1%"=="%%i" Set type=%type:~0,2%
For /f "delims=" %%i In ('dir /a-d /b "*%type:~0,3%*.txt" 2^>nul') do (
Set flag=1
For /f "delims=" %%j In ('dir /ad /b^|findstr /ivx /g:"%%i" 2^>nul') do rd /q /s "%%j" 2>nul
)
Del /f /q *.txt 2>nul
If Not defined flag (
For /d %%i In (*) Do rd /q /s "%%i" 2>nul
Echo 无法找到符合%type%笔记本的驱动
Echo 此窗口20秒后自动退出
ping -n 20 %computername%>nul
)
Del "%~0"
pause

我不是很清楚 For /f "tokens=2 delims==" %%i In ('findstr /bi "Product_Name" DMIINFO.TXT') do set type=%%i
这一行里的意思。
如果我想修改。从INFO.txt里取得一个信息怎么修改
INFO.txt的内容是如下我用红色表表示我要取得的内容
哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪?
BIOS Info Tool v1.3, Copyright(c) 2004 by Serge Galkin (StarGaz0r)
Win9x/Win2k/XP version e-mail: stargaz0r@nm.ru
屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯

?ROM BIOS by American Megatrends Inc., 02/05/07
BIOS ID String: ??
Version: ? release date: //

?DMI.BaseBoardInformation:
Manufacturer: Sony Corporation
Product: VAIO
Version: N/A
Serial Number: N/A

?DMI.SystemInformation:
Manufacturer: Sony Corporation
Product Name: VGN-FE770G
Version: C3LMMYGJ
Serial Number: 28247830-3012552

?DMI.BIOSInformation:
Vendor Name: Phoenix Technologies LTD
BIOS Version: R0200J3
BIOS Starting Address Segment: E6B3h
BIOS Release Date: 02/05/2007
BIOS ROM Size: 1024 KB

?Supported features:










Last edited by clear700 on 2007-7-5 at 03:10 PM ]


2007-7-5 05:25
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 2 楼』:   使用 LLM 解释/回答一下

多看看老帖子,对照着for /?学习。




偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2007-7-5 09:01
查看资料  发送邮件  访问主页  发短消息  网志  OICQ (653668)  编辑帖子  回复  引用回复
clear700
新手上路





积分 18
发帖 7
注册 2007-7-2
状态 离线
『第 3 楼』:   使用 LLM 解释/回答一下

看的头都晕了
我把这行改了怎么就不工作呢?
For /f "tokens=2 delims==" %%i In ('findstr /bi "Product Name" DMIINFO.TXT') do set type=%%i


Product Name这个原先有_ 下滑线 我改成没有就不正常工作了?还有我要提取的东西和先前写这个DAT的人的东西不太一样
他先前的是DMIINFO.TXT是如下


Manufacturer_Name(Type1,Offset04h) = Compal
Product_Name(Type1,Offset05h) = CL51
Version(Type1,Offset06h) =
Serial_Number(Type1,Offset07h) =


2007-7-5 12:59
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 4 楼』:   使用 LLM 解释/回答一下

@echo off
for /f "delims=: tokens=2" %%a in ('findstr /ic:"Product Name" procude.txt') do echo 要提取的信息:%%a
pause


2007-7-5 13:25
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
clear700
新手上路





积分 18
发帖 7
注册 2007-7-2
状态 离线
『第 5 楼』:   使用 LLM 解释/回答一下

已经搞定了非常感谢~


2007-7-5 15:22
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

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


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



论坛跳转: