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

[文本处理] 批处理特殊字符替换问题

[复制链接]
发表于 2023-2-12 17:13:05 | 显示全部楼层 |阅读模式
本帖最后由 WBATW 于 2023-2-16 01:45 编辑

批处理特殊字符替换问题???

谨请 各位老师指导(尽可能在源代码修改)
现有代码如下:
@echo off&setlocal enabledelayedexpansion
set "s=\"
set "d=AAA"
(for /f "delims=" %%a in (a.txt) do (
    set "str=%%a"
    if not defined a (
        if not "!str:%s%=!"=="%%a" (
            set str=!str:%s%=%d%!
            set a=.
        )
    )
    echo,!str!
))>>b.txt

move b.txt a.txt
Start a.txt
exit

特点及要求:
1. 替换第一行字符含有(= ? * : " < > \ / |)10个特殊字符。
2. 现有代码可以替换【\ / : ?(中文的问号英文的不行)】。
3. 现有代码每执行一次读取一行再次执行替换第二行的字符,再次执行替换第三行的
字符,余推...。输出到源文件a.txt和输出到新文件New a.txt。
4. 替换后保留文本原来的格式不变,
5. 测试文件如下:a.txt(实际为批量*.txt)
------------------------------------
/22,dd?替换噩 = ? * : " < > \ / |噩

000,[hfg]/  \\*替换后保留原格式
555/ss<<tt*替换后保留原格式

666|hhuuu*替换后保留原格式
"777 " jj=jjj\\\*替换后保留原格式
------------------------------------
 楼主| 发表于 2023-2-16 01:48:15 | 显示全部楼层
回复 1# WBATW

没有高人???解决不了
 楼主| 发表于 2023-3-9 18:31:26 | 显示全部楼层
回复 2# WBATW
:lol 还是我自己解决了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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