标题: [求助]for 循环中替换变量的特殊字符
[打印本页]
作者: mylovelyqq
时间: 2006-12-13 07:20
标题: [求助]for 循环中替换变量的特殊字符
首先, set /p xxx=请输入变量值: , 我想把用户输入的值中可能含有的特殊字符如`~!@#$^&...全部去掉,只保留合法有效的字符,为此,我新建了一个filterchr.txt文件,有十几行,每一行是一个特殊字符,形式如下:
`
~
!
@...
在批处理中我用
for /f %%i in (filterchr.txt) do set xxx=!XXX:%%i=!
结果得到的变量xxx值乱七八糟, 我加了变量延迟也不行
说明:要过滤的特殊字符几乎涵盖了键盘上能直接输入各种符号,%符号不过滤
作者: namejm
时间: 2006-12-13 07:41
set /p 注定不能处理 <、>等特殊字符。
请参考这个帖子:
如何过滤变量中指定的字符[已解决]
作者: youxi01
时间: 2006-12-13 08:19
其实set /p 中输入特殊字符以外退出的问题可以通过“构造”解决的,要不要开贴讨论啊?斑竹
作者: namejm
时间: 2006-12-13 08:23
能处理 < 和 > 的 set /p 历来就是个难题,youxi01 如果有解决之道的话,那就开个专帖来讨论一下吧。
作者: youxi01
时间: 2006-12-13 08:31
但是只能解决意外退出的问题哦!
不好意思,回来的时候再讨论好?,等下有事情了!
[
Last edited by youxi01 on 2006-12-13 at 08:37 AM ]
作者: a9319751
时间: 2006-12-13 08:33
Quote: |
Originally posted by youxi01 at 2006-12-13 08:31:
但是只能解决意外退出的问题哦! |
|
道来听听~
恭候