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

[文本处理] [已解决]批处理如何在文本的第五行开头加上特定字符批量加上可以实现吗?

[复制链接]
发表于 2021-11-2 13:46:01 | 显示全部楼层 |阅读模式
本帖最后由 swanseabrian 于 2021-11-2 22:30 编辑

有一批文本文件,想在第五行批量开头批量加上 特定字符,

例如

  一个文件夹里有100个文本文件

每个文本文件 是下面这个的

1111
2222
3333
4444
5555
6666
在第五行开头加入234也就是变成下面这样
1111
2222
3333
4444
2345555
6666
[这个要怎么操作呢
谢谢
发表于 2021-11-2 14:12:31 | 显示全部楼层
未测试:
  1. @echo off
  2. set var=234
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
  5.     ((for /l %%a in (1,1,5) do (
  6.         set /p str=
  7.         if %%a==5 (
  8.             echo,%var%!str!
  9.         ) else (
  10.             echo,!str!
  11.         )
  12.     ))<"%%i"
  13.     more +5 "%%i")>"new_%%i"
  14. )
  15. pause
复制代码
发表于 2021-11-2 15:56:08 | 显示全部楼层
回复 1# swanseabrian


http://bcn.bathome.net/s/tool/index.html?key=sed
  1. sed -i "5s/^/234/" *.txt
复制代码
发表于 2021-11-2 16:23:54 | 显示全部楼层
搞这么复杂主要是试试使用命令more,看看好使不。以前很少使用。
 楼主| 发表于 2021-11-2 19:36:37 | 显示全部楼层
回复 4# qixiaobin0715


    为什么不是在原来文本上改呢,不生成新的可以吗
这个sed的怎么用, 要加环境变量?
发表于 2021-11-2 20:06:00 | 显示全部楼层
我想各种程序或脚本设计是基本上都是在源文件的副本上进行修改,这样可以避免修改文件产生错误,造成不可挽回的损失。当然也可以通过回写覆盖源文件。也可以把修改后的文件写入新的文件夹并保持原文件名。在4楼代码for循环之前新建文件夹:
  1. md NewFolder
复制代码
将代码13行后面部分改为:
  1. >"NewFolder\%%i"
复制代码
如果修改无误,手动或用del命令删除源文件即可。

评分

参与人数 1技术 +1 收起 理由
swanseabrian + 1 非常好

查看全部评分

发表于 2021-11-2 21:46:57 | 显示全部楼层
回复 5# swanseabrian


    或者把 sed.exe 放到 C:\Windows\System32\ 文件夹下面也行

评分

参与人数 1技术 +1 收起 理由
swanseabrian + 1 非常好

查看全部评分

 楼主| 发表于 2021-11-2 22:14:19 | 显示全部楼层
回复 6# qixiaobin0715


    那你不是把文件名都改了
 楼主| 发表于 2021-11-2 22:14:32 | 显示全部楼层
回复 7# Batcher


    好的
发表于 2021-11-3 06:37:42 | 显示全部楼层
NewFolder\%%i中的NewFolder\是路径而非文件名的一部分。实际上可以将修改后的文件保存在你想要的任何地方,比如可以:md C:\abc,当然后面的代码也相应的修改为C:\abc\%%i
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 02:46 , Processed in 0.014759 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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