标题: [求助]如何替换文本中的字符呢?包含特殊字符!
[打印本页]
作者: maxfull
时间: 2007-6-29 13:47
标题: [求助]如何替换文本中的字符呢?包含特殊字符!
我想实现的是这样的,在不使用外部命令的情况下
首先从 c:\aa.txt 中读取第一行的内容给变量 %aaa% (这个变量的内容可能包含所有未知的特殊字符如: . , / \ ] [ < > ! @ # $ % ^ ^ & * ( ) 等未知的assic字符) 然后将 c:\bb.txt 中包含的 %aaa% 变量的内容替换为 abcdef 如果不包含特殊字符我会写,但是包含了特殊字符就不知道怎么写了,希望大家帮忙,
作者: wudixin96
时间: 2007-6-29 14:13
论坛里有类似的吧。
具体问题具体分析。
能把aa和bb中内容帖上来吗?
作者: maxfull
时间: 2007-6-29 14:18
由于 bb.txt 中 已经包含了 aa.txt 中的第一行,但是 aa.txt 的第一行是不固定的,动态的。
作者: wudixin96
时间: 2007-6-29 14:33
似乎和特殊字符没什么关系吧?似乎特殊字符中不包含=就行了。
@echo off & setlocal enabledelayedexpansion
for /f "delims=" %%i in (a.txt) do set aaa=%%i
for /f "delims=" %%i in (b.txt) do (
set bbb=%%i
if !bbb!==!aaa! set bbb=abcdef
echo !bbb!>>c.txt
)
是不是这个意思啦?
作者: maxfull
时间: 2007-6-29 15:20
请问下 setlocal enabledelayedexpansion
这个是什么意思呢
作者: wudixin96
时间: 2007-6-29 15:22
啊?这是启用延迟啊
在cmd里输入
setlocal /?
有详细点的说明。更详细的解释请到论坛里搜索。
作者: maxfull
时间: 2007-6-29 15:24
刚刚测试了下可以。。
如果我想要在 变量 aaa中在前面加入 <abc>可以实现吗?加入后再替换
作者: wudixin96
时间: 2007-6-29 15:27
可以啊,只是都是整句替换的。加不加有什么区别吗?
作者: HAT
时间: 2007-6-29 15:42
//似乎和特殊字符没什么关系吧?似乎特殊字符中不包含=就行了。
把==改为equ能否解决等号的问题呢?
作者: wudixin96
时间: 2007-6-29 15:52
不完全是这个的问题。用set的时候=号有特殊意义