[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 【已解决】批处理如何把某个文件的内容插入到另外一个文件内容中的指定字符中间?

本帖最后由 toyerspollors 于 2021-10-4 21:51 编辑

“文件1.json”中有一段内容为

  "Function": [],


我想把“文件2.md”的内容插入到[]字符中间,达到下方效果。

  "Function": [

插入的文件内容
],


爬了2个小时历史帖子,找不到对胃口的。 盼老师帮助一下。

回复 9# Batcher


   学习了
Fit Strong

TOP

@echo off&setlocal enabledelayedexpansion

findstr . 1.json>2.json
del 1.json /q
ren 2.json 1.js ...
Fit 发表于 2021-10-4 12:09



    看起来感觉有些复杂

TOP

回复 6# Fit


一行move可以取代del+ren,例如:
  1. move /y 2.json 1.json
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

提醒一下,空格也是字符,如果前后还有空格的话,请自行加上:
qixiaobin0715 发表于 2021-10-3 23:26



    "delims" 这里少了一个=号

TOP

1.json和2.md和批处理一个目录下
Fit Strong

TOP

@echo off&setlocal enabledelayedexpansion

findstr . 1.json>2.json
del 1.json /q
ren 2.json 1.json
call:ff
call:tyHead
echo Function^": [>>2.json
for /f "tokens=*" %%i in (2.md) do echo %%i>>2.json
echo ],^">>2.json
call:tyEnd
del 1.json /q
ren 2.json 1.json
pause&exit

:ff
set /a n1=0
for /f "tokens=*" %%i in (1.json) do (
  set /a n1+=1
  if "%%i"==""Function": []," (goto:eof)
)

:tyHead
set /a num=0
(for /f "tokens=*" %%i in (1.json) do (
set /a num+=1
if !num! equ %n1% goto:eof
echo %%i))>2.json

:tyEnd
(for /f "skip=%n1% tokens=*" %%i in (1.json) do echo %%i>>2.json)
goto:eof
Fit Strong

TOP

本帖最后由 qixiaobin0715 于 2021-10-5 08:36 编辑

提醒一下,空格也是字符,如果前后还有空格的话,请自行加上:
  1. @echo off
  2. for /f "delims=" %%a in (1.json) do (
  3.     if "%%a"==""Function": []," (
  4.         echo,"Function": [
  5.         type "文件2.md"
  6.         echo,],
  7.     ) else (
  8.         echo,%%a
  9.     )
  10. )
  11. pause
复制代码
1

评分人数

TOP

回复  toyerspollors
你提供的信息太少,最起码要将“文件1.json”的含有“"Function" W:[],”整行内容贴 ...
qixiaobin0715 发表于 2021-10-3 19:49


我已更正,我要插入的这行就下方这些字符,没有多余的了。盼老师帮助一下!
"Function": [],

TOP

回复 1# toyerspollors
你提供的信息太少,最起码要将“文件1.json”的含有“"Function" W:[],”整行内容贴出来吧。

TOP

  1. @powershell "type '%~0'|select -skip 1|out-string|iex"&pause&exit
  2. $c='文件1.json'
  3. $a=gc $c
  4. $b=gc 文件2.md
  5. $a -replace '"Function" W:\[.*\],',"[$b]"|out-file $c -encoding default
复制代码

TOP

返回列表