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

[文件操作] [已解决]批处理如何把文本内容替换到文件里?

[复制链接]
发表于 2023-2-20 15:40:00 | 显示全部楼层 |阅读模式
本帖最后由 a574045075 于 2023-2-21 11:42 编辑

这里有个01.txt文本,内容如下图

如何用批处理命令把Using title id的0005000000012400和generated encrypted的e734ae04fb23bf6de77a6e21646c95a6替换到如下图的位置,另外Using title id的值和generated encrypted的值是随机的,不一定是0005000000012400和e734ae04fb23bf6de77a6e21646c95a6

最终想要的结果如下图

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2023-2-20 17:59:23 | 显示全部楼层
这个论坛图片上传不了
 楼主| 发表于 2023-2-20 18:28:11 | 显示全部楼层
回复 2# 23618342


    看到图片吗?
发表于 2023-2-20 18:55:32 | 显示全部楼层
回复  23618342


    看到图片吗?
a574045075 发表于 2023-2-20 18:28



    有图片
发表于 2023-2-20 20:03:43 | 显示全部楼层
本帖最后由 czjt1234 于 2023-2-21 10:15 编辑

vbs
  1. file1 = "01.txt"
  2. file2 = "basetik.tik"

  3. Set oFSO = CreateObject("Scripting.FileSystemObject")
  4. Set oTextStream = oFSO.OpenTextFile(file1)
  5. s = oTextStream.ReadAll()
  6. oTextStream.Close()

  7. Set oRegExp = CreateObject("VBScript.RegExp")
  8. oRegExp.IgnoreCase = True
  9. oRegExp.Pattern = "Using title id\: (.+)?\r\n"
  10. For Each i In oRegExp.Execute(s)
  11.     t = i.SubMatches.Item(0)
  12. Next

  13. With CreateObject("Msxml2.DOMDocument").CreateElement("hex")
  14.     .DataType = "bin.hex"
  15.     .Text = t
  16.     arrByte = .NodeTypedValue
  17. End With

  18. With CreateObject("ADODB.Stream")
  19.     .Type = 1    'adTypeBinary
  20.     .Mode = 3    'adModeReadWrite
  21.     .Open()
  22.     .LoadFromFile file2
  23.     .Position = &H01DC
  24.     .Write arrByte
  25.     .SaveToFile file2, 2
  26.     .Close()
  27. End With

  28. oRegExp.Pattern = "generated encrypted\: (.+)?\r\n"
  29. For Each i In oRegExp.Execute(s & vbCrLf)
  30.     t = i.SubMatches.Item(0)
  31. Next

  32. With CreateObject("Msxml2.DOMDocument").CreateElement("hex")
  33.     .DataType = "bin.hex"
  34.     .Text = t
  35.     arrByte = .NodeTypedValue
  36. End With

  37. With CreateObject("ADODB.Stream")
  38.     .Type = 1    'adTypeBinary
  39.     .Mode = 3    'adModeReadWrite
  40.     .Open()
  41.     .LoadFromFile file2
  42.     .Position = &H01BF
  43.     .Write arrByte
  44.     .SaveToFile file2, 2
  45.     .Close()
  46. End With

  47. MsgBox "ok"
复制代码

评分

参与人数 1技术 +1 收起 理由
a574045075 + 1 谢谢了

查看全部评分

发表于 2023-2-20 20:51:26 | 显示全部楼层
你们看到图片?
发表于 2023-2-20 21:04:32 | 显示全部楼层
回复 6# terse

可以看到顶楼图片,刷新等待一下,试试
发表于 2023-2-20 21:37:58 | 显示全部楼层
本帖最后由 WHY 于 2023-2-22 20:04 编辑

PowerShell 脚本
2023/02/22 简化脚本。我测试没有发现问题
  1. $file1 = '01.txt';
  2. $file2 = 'basetik.tik';          #修改前的文件名
  3. $file3 = 'basetik_001.tik';      #修改后的文件名

  4. $text  = [IO.File]::ReadAllText($file1, [Text.Encoding]::Default);
  5. $bytes = [IO.File]::ReadAllBytes($file2);

  6. Function Set-ByteValue($key, [int]$offSet){
  7.     $reg = '(?i)(?<=' + $key + ' *)[a-f0-9]+';
  8.     $s = ([regex]::Match($text, $reg)).Value;
  9.     for ($i = 0; $i -lt $s.Length; $i+=2) {
  10.         $x = $i / 2 + $offSet;
  11.         $bytes[$x] = [byte][int]('0x' + $s.SubString($i, 2));
  12.     }
  13. }

  14. Set-ByteValue -key 'Using title id:' -offSet 0x01DC;
  15. Set-ByteValue -key 'generated encrypted:' -offSet 0x01BF;

  16. [IO.File]::WriteAllBytes($file3, $bytes);

  17. echo 'Done';
  18. [Console]::ReadLine();
复制代码

评分

参与人数 1技术 +1 收起 理由
a574045075 + 1 看来不行,不过谢谢了

查看全部评分

 楼主| 发表于 2023-2-21 06:50:20 | 显示全部楼层
回复 8# WHY


    中午回来试试.
发表于 2023-2-21 09:17:40 | 显示全部楼层
看到了,我上次就没有成功,奇怪了
发表于 2023-2-21 12:23:52 | 显示全部楼层
奇怪 看不了图
发表于 2023-2-21 12:31:38 | 显示全部楼层
回复 11# terse
可能是浏览器的事,Edge可以看到。
发表于 2023-2-21 13:32:03 | 显示全部楼层
回复 9# a574045075


   测试的结果能发一下吗
如果不成功的,也希望看到错在哪里的
发表于 2023-2-21 13:59:30 | 显示全部楼层
回复 12# qixiaobin0715

Edge  chrome  Firefox都试了 唉! 算了
发表于 2023-2-21 14:15:21 | 显示全部楼层
回复 1# a574045075


    请问你的图片是怎么上传的? 我试了好像上传不了图片呢.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 02:27 , Processed in 0.019911 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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