我想插入一个字符串的文本说“你好”在一个特定的行说n(12或23或其他一些数字)使用批处理脚本。我知道批处理脚本是坏的,但不幸的是,这是批处理脚本的要求。
这是我试过的方法
@echo off
setlocal enableextensions disabledelayedexpansion
set "nthline=TEXT"
(for /f "usebackq tokens=* delims=" %%a in (c.txt) do (
echo(%%a
if defined nthline (
echo(%nthline%
set "nthline="
)
))
这段代码我从这里得到,但它只插入到第二行我不能让它超过这一点。
下面是文本文件包含的内容
aaaa
bbbb
cccc
dddd
ffff
gggg
hhhh
它在aaaa之后插入字符串。我怎样才能使它在bbbb或ffff处插入?我是批处理脚本的新手,所以非常感谢任何帮助
2条答案
按热度按时间nhjlsmyf1#
您发布的代码旨在在第一行之后插入额外的一行。
要在某个点插入,您需要以某种方式预定义目标行号和行号,然后比较这些数字是否相等,并在以下脚本中返回额外的文本行-line:
2cmtqfgy2#
对ASchipfl解决方案的一些修正:
可以说,这是一个稍微简单一点的工作版本。注意for/loop中的反勾号