标题: [文本处理] 批处理如何在txt文本每一行开头插入/添加指定字符串内容 [打印本页]
作者: x3801932 时间: 2009-4-21 20:24 标题: 批处理如何在txt文本每一行开头插入/添加指定字符串内容
本帖最后由 pcl_test 于 2017-5-5 22:08 编辑
请高手帮忙 在TXT 文件中 每行都有一个网络地址 我希望每行都增加 start /min iexplore
请问怎么实现
作者: xushaolong2009 时间: 2009-4-21 21:14
- 思路:for /f读取文本将每一行以序列的形式赋值给变量
- 然后再用一个 for /L依次去读取变量并赋值就可以了
-
复制代码
下面是代码- @echo off&setlocal enabledelayedexpansion
- set "str=start /min iexplore"
- for /f "delims=" %%i in (b.txt) do (set /a xu+=1
- set shao!xu!=%%i
- )
- cd.>b.txt
- for /l %%i in (1 1 !xu!) do echo !shao%%i!!str!>>b.txt
- pause
-
复制代码
解释- @echo off&setlocal enabledelayedexpansion
- 关闭回显 并 开启延迟变量
- set "str=start /min iexplore"
- 赋值str的值为start /min iexplore
- for /f "delims=" %%i in (b.txt)
- for命令读取b.txt文本
- set /a xu+=1
- 读取第一行时xu的值为1,因为之前变量xu没有赋值,值为空,因此xu=“空”+1=1
- set shao!xu!=%%i
- 这个命令将该行内容,赋值给变量shao!xu!
- 而此时,wind=1
- 所以 也就是 set shao1=第一行的内容
- .
- .
- .
- 直到最后一行,for循环结束
- cd.>b.txt
- 把b.txt质空(也就是楼主想要的txt文件)
- for /l %%i in (1 1 !xu!) do echo !shao%%i!!str!>>b.txt
- 用for /l 循环依次读取上一个for语句的每一行,并在每一行后面加!str!即楼主要加的字符,并输出到b.txt中
复制代码
作者: 随风 时间: 2009-4-21 22:30
网址中可能含有特殊符号,设为变量可能会出错,为什么不直接添加呢。
:- @echo off
- (for /f "delims=" %%a in (a.txt) do echo start /min iexplore %%a)>b.txt
- start b.txt
复制代码
作者: xushaolong2009 时间: 2009-4-21 22:38 标题: 回复 3楼 的帖子
呵呵,我是刚刚看到相关的教程,一时手痒就写了下,没考虑得当
还是大大牛,又学了一招
这半个月来,几乎一天中大半个时间除了上专业课都泡在论坛上,看教程,做题,感觉有那么点意思,嘿嘿
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |