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

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

[复制链接]
发表于 2021-10-3 17:54:48 | 显示全部楼层 |阅读模式
本帖最后由 toyerspollors 于 2021-10-4 21:51 编辑

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

  "Function": [],


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

  "Function": [

插入的文件内容
],


爬了2个小时历史帖子,找不到对胃口的。 盼老师帮助一下。
发表于 2021-10-3 19:36:34 | 显示全部楼层
  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
复制代码
发表于 2021-10-3 19:49:17 | 显示全部楼层
回复 1# toyerspollors
你提供的信息太少,最起码要将“文件1.json”的含有“"Function" W:[],”整行内容贴出来吧。
 楼主| 发表于 2021-10-3 22:24:15 | 显示全部楼层
回复  toyerspollors
你提供的信息太少,最起码要将“文件1.json”的含有“"Function" W:[],”整行内容贴 ...
qixiaobin0715 发表于 2021-10-3 19:49


我已更正,我要插入的这行就下方这些字符,没有多余的了。盼老师帮助一下!
"Function": [],
发表于 2021-10-3 23:26:22 | 显示全部楼层
本帖最后由 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技术 +1 收起 理由
toyerspollors + 1 感谢分享

查看全部评分

发表于 2021-10-4 12:09:08 | 显示全部楼层
@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
发表于 2021-10-4 12:10:03 | 显示全部楼层
1.json和2.md和批处理一个目录下
 楼主| 发表于 2021-10-4 21:39:11 | 显示全部楼层
提醒一下,空格也是字符,如果前后还有空格的话,请自行加上:
qixiaobin0715 发表于 2021-10-3 23:26



    "delims" 这里少了一个=号
发表于 2021-10-4 21:46:53 | 显示全部楼层
回复 6# Fit


一行move可以取代del+ren,例如:
  1. move /y 2.json 1.json
复制代码
 楼主| 发表于 2021-10-4 21:50:45 | 显示全部楼层
@echo off&setlocal enabledelayedexpansion

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



    看起来感觉有些复杂
发表于 2021-10-5 10:07:30 | 显示全部楼层
回复 9# Batcher


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

本版积分规则

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

GMT+8, 2026-3-21 01:45 , Processed in 0.032354 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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