bat批处理如何移除字符串中的特殊字符*和=?
bat吧
全部回复
仅看楼主
level 1
WarmerChing 楼主
select * from aass where ddf="jdk"
打算用以上sql作为文件名建立文件,然而无法去掉特殊字符*和=。
使用set a=%a: =% 去掉空格以及" ,但无论是\*,^* 都无法识别,哈哈如何去掉?或者怎么识别并获取from与where之间的字符串呢?
2017年06月08日 02点06分 1
level 13
用vbs替换[滑稽]包好
2017年06月08日 12点06分 2
level 13
Set fso=Wscript.CreateObject("Scripting.FileSystemObject")
set f=fso.opentextfile(WScript.Arguments.item(0))
s=f.readall
s=replace(s,"被替换的字符", "希望替换的字符")
//如需替换多次,复制上一行即可
//如替换内容包含")换行等特殊符号,请百度搜索解决方法
f.close
set r=fso.opentextfile(WScript.Arguments.item(0),2,true)
//如需另存为,上一行改为(不支持覆盖文件!)set file=fso.createtextfile(WScript.Arguments.item(1))
r.write s
Wscript.quit
使用方法,新建文本文档,复制以上内容并做适当修改,保存,然后改文件名为1.vbs
需与bat同路径
然后在bat里 start /w 1.vbs 文件名 [另存为位置]
2017年06月08日 12点06分 3
level 10
看看这样是不是你要的?如下:
for /f "tokens=1,2,3* delims==*" %%i in ("select * from aass where ddf="jdk"") do (echo %%i%%j%%k &pause)
2017年06月11日 13点06分 4
level 10
@echo off
Setlocal enabledelayedexpansion
set a=select * from aass where ddf="jdk"
for /f "tokens=1,2,3* delims==*" %%i in ("%a%") do (
set a=%%i%%j%%k &echo !a! &pause)
2017年06月11日 14点06分 6
1