Board logo

标题: [文本处理] 如何在文本每行前添加相同字串 [打印本页]

作者: 浪笑    时间: 2008-8-26 13:00     标题: 如何在文本每行前添加相同字串

上次请教过老师: 如何在文本每行添加相同字串
@echo off
for /f "delims=" %%i in ('type a.txt') do (
     if not defined flag (
        echo %%i arp -s 192.168.1.1 00-19-DB-7D-C6-37>a.txt&set "flag=a"
        ) else (
        echo %%i arp -s 192.168.1.1 00-19-DB-7D-C6-37>>a.txt
     )
)
start a.txt

麻烦老师解说一下这些代码。。。

现在我要在:文本每行添加相同字串
又要如何修改这代码呢?





作者: Batcher    时间: 2008-8-26 13:25

  1. @echo off
  2. for /f "delims=" %%i in (a.txt) do (
  3.   if not defined flag (
  4.     >a.txt echo arp -s 192.168.1.1 00-19-DB-7D-C6-37 %%i&set "flag=a"
  5.   ) else (
  6.     >>a.txt echo arp -s 192.168.1.1 00-19-DB-7D-C6-37 %%i
  7.   )
  8. )
  9. start a.txt
复制代码

作者: 浪笑    时间: 2008-8-26 23:16

谢谢这位老师,,能解说一下这代码吗?
想学习。
作者: Batcher    时间: 2008-8-27 09:51

哪句看不懂,就问哪句;
全部看不懂,去看教程。
作者: wangwei4106    时间: 2008-8-27 12:07

来看看
嘿嘿
说的是哦!
作者: start    时间: 2008-8-27 15:55

if not defined flag
这一句不是很懂....这个flag是不是有别的意思
作者: CZT    时间: 2008-8-27 16:02

原帖由 Batcher 于 2008-8-27 09:51 发表
哪句看不懂,就问哪句;
全部看不懂,去看教程。


我强烈支持这句话,我们新人应该自己先认真学好基本功
遇到自己解决不了的疑难问题是再来请教别人
而不能什么都靠别人送到自己嘴边
换句话说:"我们应该尊重所有人的劳动成果“
作者: pusofalse    时间: 2008-8-27 16:05     标题: 回复 6楼 的帖子

如果变量flag的值不为空,要执行的命令。。。
仔细看下flag是在读取到哪一行的时候被赋值的吧。用这种方法可以不必产生临时文件,直接对文件进行改写。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2