yyz2191958 发表于 2023-10-7 16:47:02

【已解决】求bat:两行文本的中间插入一行(第三方也行),谢谢

本帖最后由 yyz2191958 于 2023-10-7 19:18 编辑

完美解决了:
gawk "NR==2{A=gensub(/^([^\042]+\042[^\042]+\042...).*$/,\"\\1\",\"g\",$0)}NR==3{print A\" /v \042Icon\042 /t REG_SZ /d \"gensub(/^.+(\042[^\042]+\042)$/,\"\\1\",\"g\",$0)}1" 1.txt>2.txt
——————————————————————————————————————
原来的问题:

需要处理的文本1.txt(内容不是固定的):
reg add "HKLM\SOFTWARE\Classes\Folder\shell\000" /f /ve /t REG_SZ /d "000"
reg add "HKLM\SOFTWARE\Classes\Folder\shell\000\command" /f /ve /t REG_EXPAND_SZ /d "D:\PE整理碎片(很好)\修改PE\程序\内存清理\内存清理.exe"
***********************************************************
运行批处理以后要达到的效果2.txt:
reg add "HKLM\SOFTWARE\Classes\Folder\shell\000" /f /ve /t REG_SZ /d "000"
reg add "HKLM\SOFTWARE\Classes\Folder\shell\000" /f /v "Icon" /t REG_SZ /d "D:\PE整理碎片(很好)\修改PE\程序\内存清理\内存清理.exe"
reg add "HKLM\SOFTWARE\Classes\Folder\shell\000\command" /f /ve /t REG_EXPAND_SZ /d "D:\PE整理碎片(很好)\修改PE\程序\内存清理\内存清理.exe"

—————————————————————————
其中2.txt的第2行是需要增加的:
2.txt的第2行的前面与第1行的前面相同
2.txt的第2行的后面与第3行的后面相同
2.txt的第2行中间(红色的)的固定的内容




plusv 发表于 2023-10-7 17:05:13

你:
需要处理的文本1.txt(内容不是固定的):
reg add "HKLM\SOFTWARE\Classes\Folder\shell\000" /f /ve /t REG_SZ /d "000"
reg add "HKLM\SOFTWARE\Classes\Folder\shell\000\command" /f /ve /t REG_EXPAND_SZ /d "D:\PE整理碎片(很好)\修改PE\程序\内存清理\内存清理.exe"
***********************************************************
运行批处理以后要达到的效果2.txt:
reg add "HKLM\SOFTWARE\Classes\Folder\shell\000" /f /ve /t REG_SZ /d "000"
reg add "HKLM\SOFTWARE\Classes\Folder\shell\000" /f /v "Icon" /t REG_SZ /d "D:\PE整理碎片(很好)\修改PE\程序\内存清理\内存清理.exe"
reg add "HKLM\SOFTWARE\Classes\Folder\shell\000\command" /f /ve /t REG_EXPAND_SZ /d "D:\PE整理碎片(很好)\修改PE\程序\内存清理\内存清理.exe"

—————————————————————————


改:
需要处理的文本1.txt(内容不是固定的):
reg add "HKLM\SOFTWARE\Classes\Folder\shell\000" /f /ve /t REG_SZ /d "000"
reg add "HKLM\SOFTWARE\Classes\Folder\shell\000\command" /f /ve /t REG_EXPAND_SZ /d "D:\PE整理碎片(很好)\修改PE\程序\内存清理\内存清理.exe"
***********************************************************
运行批处理以后要达到的效果2.txt:
reg add "HKLM\SOFTWARE\Classes\Folder\shell\000" /f /ve /t REG_SZ /d "000"
reg add "HKLM\SOFTWARE\Classes\Folder\shell\000" /f /v "Icon" /t REG_SZ /d "D:\PE整理碎片(很好)\修改PE\程序\内存清理\内存清理.exe"
reg add "HKLM\SOFTWARE\Classes\Folder\shell\000\command" /f /ve /t REG_EXPAND_SZ /d "D:\PE整理碎片(很好)\修改PE\程序\内存清理\内存清理.exe"

—————————————————————————


看了很久 才看懂




yyz2191958 发表于 2023-10-7 17:07:53

plusv 发表于 2023-10-7 17:05
你:
需要处理的文本1.txt(内容不是固定的):
reg add "HKLM\SOFTWARE\Classes\Folder\shell\000" /f /v ...

我可能没有表达清楚哦

创新科技2015 发表于 2023-10-7 21:55:00

ok

nathan6498 发表于 2023-10-7 22:55:29

谢谢分享

yc2428 发表于 2023-10-7 23:00:14


谢谢分享

无犹启动 发表于 2023-10-12 09:34:02

谢谢分享

yyz2191958 发表于 2023-10-12 10:04:30

无犹启动 发表于 2023-10-12 09:34
谢谢分享

希望对你有用

无犹启动 发表于 2024-2-24 18:32:15

谢谢分享

wang1126 发表于 2024-2-25 13:22:30

谢谢分享

2012飘水 发表于 2024-4-3 01:21:53

感谢分享,学习了
页: [1]
查看完整版本: 【已解决】求bat:两行文本的中间插入一行(第三方也行),谢谢