- 思路: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中
复制代码
|