Board logo

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

作者: yyz219    时间: 2022-12-17 16:48     标题: [已解决]sed用(0.txt提供内容)替换文本(1.txt)里面指定内容,谢谢

完美解决了
  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

谢谢
作者: LJY4.0    时间: 2022-12-17 19:47

本帖最后由 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"
复制代码

作者: yyz219    时间: 2022-12-17 20:07

LJY4.0 发表于 2022-12-17 19:47



    我试一试先 谢谢
作者: yyz219    时间: 2022-12-17 20:14

LJY4.0 发表于 2022-12-17 19:47



    运行后,没有变化:

提示:

sed: -e expression #1, char 2: unknown command: `/'
sed: -e expression #1, char 2: unknown command: `/'
作者: terse    时间: 2022-12-17 21:09

  1. set /p M=<"lnk路径.txt"
  2. set /p F=<"文件路径(含扩展名).txt"
  3. sed -i "/CreateShortcut\|TargetPath/!d;s/lnk路径/%m:\=\\%/;s/文件路径(含扩展名)/%f:\=\\%/" 快捷方式-模板.txt
复制代码

作者: yyz219    时间: 2022-12-17 23:24

terse 发表于 2022-12-17 21:09


谢谢 晚了,我明天在试一试
作者: yyz219    时间: 2022-12-17 23:28

terse 发表于 2022-12-17 21:09



    成功了,再次感谢
作者: yyz219    时间: 2022-12-17 23:31

terse 发表于 2022-12-17 21:09



    能不能生成新文件?

谢谢
作者: terse    时间: 2022-12-17 23:57

这样呢
  1. sed "s/lnk路径/%m:\=\\%/;s/文件路径(含扩展名)/%f:\=\\%/" 快捷方式-模板.txt >new_-模板.txt
复制代码
回复 8# yyz219
作者: yyz219    时间: 2022-12-18 07:57

这样呢回复  yyz219
terse 发表于 2022-12-17 23:57



    再次感谢
作者: yyz219    时间: 2022-12-18 08:06

这样呢回复  yyz219
terse 发表于 2022-12-17 23:57



    成功了 非常感谢




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