找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23661|回复: 3

[文本处理] 【已解决】批处理如何在txt某行前和后添加字符

[复制链接]
发表于 2015-11-28 18:51:44 | 显示全部楼层 |阅读模式
本帖最后由 wzf1024 于 2016-2-19 20:39 编辑

请教大侠:
有很多txt文本,需要在某行前或后插入字符,不知如何实现?

比如一个txt:
------------------
1
2
3
4
------------------
我想在第三行前加aaa,行尾加bbb,就成了这样:
-----------------------
1
2
aaa3bbb
4
-----------------------

现有一个代码,但只能操作第一行:
----------------
@echo off
set "行首=$$$$"
set "行尾=####"
for %%a in (*.txt) do (
    set ".="
    (for /f "tokens=1* delims=:" %%a in ('findstr /n .* "%%a"') do (
        if defined . (
            echo,%%b
        ) else (
            if not "%%b"=="" (
                set .=.
                echo %行首%%%b%行尾%
            )
        )
    ))>$
    move $ "%%a"
)
-------------
大侠能改成任意行都能操作吗,就是有变量接受输入的行数?
发表于 2015-11-28 18:53:05 | 显示全部楼层
请举例说明
发表于 2015-11-28 19:22:35 | 显示全部楼层
本帖最后由 尘丶 于 2015-11-28 19:25 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. set n=3
  3. ((for /l %%a in (1.txt) do set /p n%%a)<1.txt
  4. for /f "delims=" %%a in (1.txt) do (
  5. set /a k+=1
  6. if not !k!==!n! (echo;%%a) else (echo;aaa%%abbb)
  7. )
  8. )>>$
  9. move $ 1.txt
  10. pause
复制代码
3是行数
发表于 2015-11-28 19:46:33 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. REM 设置在第几行插入
  4. set "Line=3"
  5. REM 设置行首
  6. set "Prefix=BAT"
  7. REM 设置行尾
  8. set "Suffix=VBS"

  9. for %%a in (*.txt) do (
  10.     (for /f "tokens=1* delims=:" %%i in ('findstr /n .* "%%a"') do (
  11.         if %%i equ !Line! (
  12.             echo,%Prefix%%%j%Suffix%
  13.         ) else (
  14.             echo,%%j
  15.         )
  16.     ))>"%%a.tmp"
  17.     move "%%a.tmp" "%%a"
  18. )
复制代码

评分

参与人数 1技术 +1 收起 理由
wzf1024 + 1 乐于助人

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 01:44 , Processed in 0.018673 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表