标题: [文本处理] 【已解决】批处理如何把某个文件的内容插入到另一文件的指定行中? [打印本页]
作者: toyerspollors 时间: 2021-10-3 08:34 标题: 【已解决】批处理如何把某个文件的内容插入到另一文件的指定行中?
本帖最后由 toyerspollors 于 2021-10-4 21:36 编辑
在不借助第三方工具,纯bat命令,我想把111.md这个文件中的内容,插入到222.txt文件中指定的第N行,至于第几行可以用set设置变量。
我在论坛搜索了关键字“插入”,找不到合用的帖子参考学习,请老师指教一下代码如何写。
另外,如果我想把以下内容放在bat文件中,达到直接把这些内容插入到222.txt文件中的某行中,又该如何写代码?
Function While_read_LINE(){
cat $FILENAME | while read LINE
do
echo $LINE
done
}
作者: qixiaobin0715 时间: 2021-10-3 09:03
回复 1# toyerspollors
插入到某行中?
你是说某行前或者某行后吧。
作者: toyerspollors 时间: 2021-10-3 13:34
算是插到中间吧。
样板如下:
4234
23423
插到某行这里
4234
2423
作者: qixiaobin0715 时间: 2021-10-3 13:56
比如把111.md的内容插入到21、22行之间。- @echo off
- set n=21
- setlocal enabledelayedexpansion
- (for /f "delims=" %%a in (222.txt) do (
- set /a m+=1
- echo,%%a
- if !m!==!n! type 111.md
- ))>#222.txt
- pause
复制代码
作者: toyerspollors 时间: 2021-10-3 18:12
比如把111.md的内容插入到21、22行之间。
qixiaobin0715 发表于 2021-10-3 13:56
如果222.txt、111.md这两个文件所在路径是带有空格的话,如
D:\aaa\a b\222.txt
D:\bbb\b c\111.md
要如何处理?我加上引号不起作用,望老师指教!学海无涯!
作者: qixiaobin0715 时间: 2021-10-3 19:38
回复 5# toyerspollors
建议将两个文本文件及批处理文件放在同一个文件夹中处理,这样就不必考虑路径中带空格的问题:- @echo off
- set n=21
- setlocal enabledelayedexpansion
- cd /d "D:\aaa\a b"
- (for /f "delims=" %%a in (222.txt) do (
- set /a m+=1
- echo,%%a
- if !m!==!n! type "D:\bbb\b c\111.md"
- ))>#222.txt
- pause
复制代码
作者: toyerspollors 时间: 2021-10-3 22:29
回复 toyerspollors
建议将两个文本文件及批处理文件放在同一个文件夹中处理,这样就不必考虑路径中带空 ...
qixiaobin0715 发表于 2021-10-3 19:38
谢谢老师提点,不过若是这样处理的话,就不便于工作了。
不过想到个土方法,就是先把这两个文件移动到同一个文件夹内,处理完后再移动回去。我的头脑比较死,只能想到这么处理
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |