楼 主
如何用for提取指定行内容,修改后又放回原行?
发表于 2010-04-22 08:27 · 中国 江西 南昌 电信
新手上路
★
积分 8 发帖 8 注册 2009-08-28 04:21 16年会员 UID 151095 性别 男
状态 离线
比如说我有一个a.ini文件,
内容如:
a=1
b=2
c=3
d=4
e=5
……
想用FOR提取出c=3这一行并改成c=100
然后放回原来提取出的行
注意是原来的,修改后的a.ini像这样:
a=1
b=2
c=100
d=4
e=5
……
顺便问一下,for能提取指定行吗?如我想要它提取第5行,有命令吗?
请各位高手帮帮忙!小弟感激不尽!
第 2 楼
发表于 2010-04-22 17:20 · 中国 广东 广州 电信
初级用户
★★
积分 89 发帖 76 注册 2009-12-13 13:41 16年会员 UID 156499 性别 男
状态 离线
@echo off
cd.>b.ini
for /f "tokens=1* delims=:" %%a in ('findstr /n .* a.ini') do (
if not "%%a"=="3" (>>b.ini echo.%%b) else (>>b.ini echo c=100)
)
pause
第 3 楼
发表于 2010-04-22 17:22 · 中国 广东 广州 电信
初级用户
★★
积分 89 发帖 76 注册 2009-12-13 13:41 16年会员 UID 156499 性别 男
状态 离线
Originally posted by yhp1996 at 2010-4-22 08:27:
比如说我有一个a.ini文件,
内容如:
a=1
b=2
c=3
d=4
e=5
……
想用FOR提取出c=3这一行并改成c=100
然后放回原来提取出的行
注意是原来的,修改 ...
放回原来的用下面这个:
@echo off
cd.>b.ini
for /f "tokens=1* delims=:" %%a in ('findstr /n .* a.ini') do (
if not "%%a"=="3" (>>b.ini echo.%%b) else (>>b.ini echo c=100)
)
move /y b.ini a.ini
pause
第 4 楼
谢谢!
发表于 2010-04-23 07:45 · 中国 江西 南昌 电信
新手上路
★
积分 8 发帖 8 注册 2009-08-28 04:21 16年会员 UID 151095 性别 男
状态 离线
第 5 楼
有个错误啊
发表于 2010-04-23 07:50 · 中国 江西 南昌 电信
新手上路
★
积分 8 发帖 8 注册 2009-08-28 04:21 16年会员 UID 151095 性别 男
状态 离线
第一个代码有这个错误:
FINDSTR: 无法打开 a.ini
请按任意键继续. . .
第 6 楼
发表于 2010-04-23 15:33 · 中国 广东 广州 电信
初级用户
★★
积分 89 发帖 76 注册 2009-12-13 13:41 16年会员 UID 156499 性别 男
状态 离线
Originally posted by yhp1996 at 2010-4-23 07:50:
第一个代码有这个错误:
FINDSTR: 无法打开 a.ini
请按任意键继续. . .
要把a.ini放到和这个批处理同一个目录。
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正