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

[文本处理] [已解决]sed用(0.txt提供内容)替换文本(1.txt)里面指定内容,谢谢

[复制链接]
发表于 2022-12-17 16:48:19 | 显示全部楼层 |阅读模式
完美解决了
  1. set /p M=<"lnk路径.txt"
  2. set /p F=<"文件路径(含扩展名).txt"
  3. sed "s/lnk路径/%m:\=\\%/;s/文件路径(含扩展名)/%f:\=\\%/" 快捷方式-模板.txt >new_-模板.txt
复制代码

*****************************************
原来的问题

求批处理:用sed替换文本里面指定内容,谢谢

1.需要替换的文本:快捷方式-模板.txt(里面红色的内容需要被替换)里面的内容(固定的):

'快捷方式-模板
Set WshShell = WScript.CreateObject("WScript.Shell")
set oShellLink = WshShell.CreateShortcut("lnk路径") '快捷方式路径
oShellLink.TargetPath = "文件路径(含扩展名)"   '可执行文件的路径
oShellLink.Save '保存快捷方式
******************************************
2.用 ”lnk路径.txt“里面的内容  去替换 上面的 lnk路径
  用 ”文件路径(含扩展名).txt“里面的内容  去替换 上面的 文件路径(含扩展名)
******************************************
3.lnk路径.txt里面内容形式如下(内容是变化的,有可能有空格):

D:\桌面\Desktop\Dism++.lnk
******************************************
3.文件路径(含扩展名).txt里面内容形式如下(内容是变化的,有可能有空格):

D:\1绿色软件\bat批处理\C盘使用情况 -Dism++x64-.bat

谢谢
发表于 2022-12-17 19:47:31 | 显示全部楼层
本帖最后由 LJY4.0 于 2022-12-17 19:52 编辑
  1. @echo off
  2. set /p file=<文件路径(含扩展名).txt
  3. set /p lnk=<lnk路径.txt
  4. sed -i "2/lnk路径/%lnk%/g" "快捷方式-模板.txt"
  5. sed -i "3/文件路径(含扩展名)/%file%/g" "快捷方式-模板.txt"
复制代码

评分

参与人数 1技术 +1 收起 理由
yyz219 + 1 乐于助人

查看全部评分

 楼主| 发表于 2022-12-17 20:07:12 | 显示全部楼层
LJY4.0 发表于 2022-12-17 19:47



    我试一试先 谢谢
 楼主| 发表于 2022-12-17 20:14:48 | 显示全部楼层
LJY4.0 发表于 2022-12-17 19:47



    运行后,没有变化:

提示:

sed: -e expression #1, char 2: unknown command: `/'
sed: -e expression #1, char 2: unknown command: `/'
发表于 2022-12-17 21:09:52 | 显示全部楼层
  1. set /p M=<"lnk路径.txt"
  2. set /p F=<"文件路径(含扩展名).txt"
  3. sed -i "/CreateShortcut\|TargetPath/!d;s/lnk路径/%m:\=\\%/;s/文件路径(含扩展名)/%f:\=\\%/" 快捷方式-模板.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
yyz219 + 1 感谢分享

查看全部评分

 楼主| 发表于 2022-12-17 23:24:35 | 显示全部楼层
terse 发表于 2022-12-17 21:09


谢谢 晚了,我明天在试一试
 楼主| 发表于 2022-12-17 23:28:12 | 显示全部楼层
terse 发表于 2022-12-17 21:09



    成功了,再次感谢
 楼主| 发表于 2022-12-17 23:31:36 | 显示全部楼层
terse 发表于 2022-12-17 21:09



    能不能生成新文件?

谢谢
发表于 2022-12-17 23:57:44 | 显示全部楼层
这样呢
  1. sed "s/lnk路径/%m:\=\\%/;s/文件路径(含扩展名)/%f:\=\\%/" 快捷方式-模板.txt >new_-模板.txt
复制代码
回复 8# yyz219

评分

参与人数 1技术 +1 收起 理由
yyz219 + 1 乐于助人

查看全部评分

 楼主| 发表于 2022-12-18 07:57:16 | 显示全部楼层
这样呢回复  yyz219
terse 发表于 2022-12-17 23:57



    再次感谢
 楼主| 发表于 2022-12-18 08:06:05 | 显示全部楼层
这样呢回复  yyz219
terse 发表于 2022-12-17 23:57



    成功了 非常感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 09:21 , Processed in 0.022043 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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