Board logo

标题: [文本处理] [已解决]求BAT脚本给子文件夹所有txt的行首行尾添加指定关键词 [打印本页]

作者: 8532200    时间: 2021-5-1 20:38     标题: [已解决]求BAT脚本给子文件夹所有txt的行首行尾添加指定关键词

以前找过很多类似bat。都是只能修改一个txt的

例如
  1. set /p Str=<222.txt
  2. echo "C:\Program Files\WinRAR\WinRAR.exe" a -d-ibck "cd1.rar" %Str%>333.txt
  3. more +1<"222.txt" >>333.txt
复制代码
  1. @echo off
  2. set "strOne=222
  3. set "strTwo=333
  4. for /f "tokens=*" %%i in (1.txt) do (
  5. >>testNew.txt echo %strOne%%%i%strTwo%
  6. )
  7. pause
复制代码
上面两个代码都可以使用。。。但是只能应用在一个txt。。如果txt很多,以及文件夹很多都不行。。。求大佬帮帮忙。。。。

目前我都靠上面两个将就用了几年了。。。。。。一直不好意思问
作者: cutebe    时间: 2021-5-1 21:21

  1. ::第一行添加rar
  2. sed -i "1s/^/\"C:\Program Files\WinRAR\WinRAR.exe\" a -d-ibck \"cd1.rar\" /" *.txt
复制代码
  1. ::每行内容前后加字串
  2. sed -r -i "s/^.+$/%strOne%&%strTwo%/" *.txt
复制代码

作者: 8532200    时间: 2021-5-1 21:32

回复 2# cutebe


    感谢回复。。。实测毫无反应。。。你这个应该不是简单的bat吧
作者: 8532200    时间: 2021-5-1 21:37

回复 2# cutebe


    我只复制了类似这行


sed -r -i "s/^.+$/%strOne%&%strTwo%/" *.txt

新建bat

也是毫无反应。。。
作者: cutebe    时间: 2021-5-1 22:37     标题: 操作前请备份原文件!

本帖最后由 cutebe 于 2021-5-1 22:46 编辑

sed.exe三方工具从论坛下载:http://www.bathome.net/s/tool/index.html
作者: went    时间: 2021-5-1 22:54

纯批,速度较慢
添加第一行数据
  1. @echo off & cd /d "%~dp0"
  2. for /r %%i in (*.txt) do (
  3. echo %%i
  4. (
  5. echo "C:\Program Files\WinRAR\WinRAR.exe" a -d-ibck "cd1.rar"
  6. type "%%i"
  7. )>"%%i_NEW"
  8. move /y "%%i_NEW" "%%i" >nul 2>nul
  9. echo ----------------------
  10. )
  11. pause&exit
复制代码
每行首未尾添加数据
  1. @echo off & cd /d "%~dp0"
  2. set "head=法规规范"
  3. set "foot=岁的法国但是"
  4. for /r %%i in (*.txt) do (
  5. echo %%i
  6. (
  7. for /f "tokens=1* delims=:" %%a in ('findstr /n .* "%%i"') do if "%%b"=="" ( echo. ) else ( echo %head%%%b%foot% )
  8. )>"%%i_NEW"
  9. move /y "%%i_NEW" "%%i" >nul 2>nul
  10. echo ----------------------
  11. )
  12. pause&exit
复制代码

作者: 8532200    时间: 2021-5-2 06:14

回复 5# cutebe


    没用过这种。。但是感谢你的回复。。。楼下已帮忙解决了




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2