中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 07:18
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » FOR循環與findstr怎么合并??
可打印版本  5,008 / 25
第1楼 van416 发表于 2010-12-10 09:41
初级用户 发帖 30 积分 34
FOR循環與findstr怎么合并??
今天在做FOR語句不知道該如何將for語句與findstr合并,以下為分開的程式,請幫忙看看,感謝~

需求:將project字段后的內容取出

2.ini
Hierarchy ID : Normal Board
Chip SKU : 250
Project : 1060-0011
CDP : N/A

1.bat
@echo off
DEL 1.txt
findstr "^Project" 2.ini>1.txt

2.bat
@echo off
setlocal
for /f "delims=: tokens=2" %%i in (1.txt) do (
set biosv=%%i
)
echo.%biosv% >bios.dat

endlocal

以上,想將1.bat與2.bat合并,該將1.bat如何加入到2.bat中呢?
第2楼 qinchun36 发表于 2010-12-10 10:19
高级用户 发帖 400 积分 609
可以使用这种样式的语句来处理结果并且避免中间文件的产生:

FOR /F %x IN ('有文字输出的命令行') DO ***

那个命令行用单引号包起来,顺便说一句,delims最好写在最后。
第3楼 van416 发表于 2010-12-10 10:38
初级用户 发帖 30 积分 34
感謝~~ 已經解決了~~~
第4楼 yf6122010 发表于 2010-12-10 11:15
新手上路 发帖 18 积分 18
学习了。。
第5楼 a081910 发表于 2010-12-10 15:11
新手上路 发帖 2 积分 2 来自 北京
学习一下!谢谢
第6楼 van416 发表于 2010-12-10 16:11
初级用户 发帖 30 积分 34
我有DOS下沒有findstr這個命令,用WINXP下的又不能用,用這個工具的能不能上偉一下給我
第7楼 Hanyeguxing 发表于 2010-12-10 16:27
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
这样不可以吗?
第8楼 van416 发表于 2010-12-10 17:02
初级用户 发帖 30 积分 34
for /f "tokens=1* delims=:" %%i in (1.ini) do (
set i=%%i
if /i "!i:~0,7!"=="Project" >>bios.dat echo %%j

有幾句看不太明白

tokens=1* 是什么意思?

if /i "!i:~0,7!"=="Project" >>bios.dat echo %%j
這一句也不明白,if /i 0,7是什么意思呢?
第9楼 Hanyeguxing 发表于 2010-12-10 17:26
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
俺没用dos,所以不清楚这样的语法在dos下支持不,如果支持的,搂主在研究他什么意思。。。
第10楼 van416 发表于 2010-12-10 17:30
初级用户 发帖 30 积分 34
嗯 ,好的,謝謝,可以用的

現在不明白的是 if /i "!i:~0,7!"=="Project" 其中!i:~0,7是什么意思呢?
第11楼 Hanyeguxing 发表于 2010-12-10 17:38
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
if /i "!i:~0,7!"=="Project"
/i忽略大小写
!i:~0,7!截取变量的第一字符开始,共7个字符
!是%在变量延迟时的写法
第12楼 van416 发表于 2010-12-10 18:12
初级用户 发帖 30 积分 34
謝謝。。明白了

還有一個問題:for命令在純MS-DOS下好像不支持for /f語句,請問這個for命令可以下載嗎?
第13楼 Hanyeguxing 发表于 2010-12-10 18:24
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
for 是个内部命令。。。
第14楼 van416 发表于 2010-12-10 18:31
初级用户 发帖 30 积分 34
怎么更新DOS下FOR命令呢? 我好像找不到呢?
第15楼 Hanyeguxing 发表于 2010-12-10 19:32
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂


[ Last edited by Hanyeguxing on 2010-12-10 at 19:37 ]
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023