Board logo

标题: [文本处理] 批处理如何替换掉特定字符串双引号里的数字 [打印本页]

作者: apang    时间: 2012-11-12 01:27

蛋痛,试试vbs吧
  1. Set FSO = CreateObject("Scripting.FileSystemObject")
  2. Text = FSO.OpenTextFile("D:\110\998\550.txt",1).ReadAll
  3. Str = Replace(Text,"ab=""16""","ab=""17""")
  4. FSO.CreateTextFile("a.ini",True).Write Str
复制代码

作者: wwddhmh    时间: 2012-11-12 22:20     标题: 批处理如何替换掉特定字符串双引号里的数字

本帖最后由 pcl_test 于 2016-7-18 18:50 编辑

关于文本内含有 "  符号的处理
本来是想把 ab="16"   改位  ab="17"
set str=!str:ab="16"=ab="17"
结果出来是 "16"="ab="17"="16"
  谁来说说看怎么处理。下面是我的原文
      @echo off
(for /f "delims=" %%a in ('type "D:\110\998\550.txt"') do (
    set "str=%%a"
    setlocal enabledelayedexpansion
    set str=!str:ab="16"="ab="17"!
    echo,!str!
    endlocal
))>a.ini


注释:一定要改动整个ab="16"   不可以单独先改ab再改16      或者只改"16"为"17"       因为文本里很多16的数字!!..继续求人指教
作者: apang    时间: 2012-11-12 23:03

回复 3# wwddhmh


    懒得说你,这里有个帖子与你相似:
http://www.bathome.net/viewthread.php?tid=5305
自己慢慢研究去吧
作者: wwddhmh    时间: 2012-11-13 19:49

哎。真头疼
作者: tmplinshi    时间: 2012-11-13 20:21

  1. sed "s/ab=\x2216\x22/ab=\x2217\x22/g" "D:\110\998\550.txt" >a.ini
复制代码
sed 下载地址: http://bathome.net/thread-15605-1-4.html




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