bat 去掉文件中的字符(如果bat处理麻烦,给vbs也行,仅限这两个)

比如c盘有一个33.txt文件,我要去除里面的_+|-=[]{};':,./">~`!@#$%^&*()_+|-=[]{};':,./<>? 这些字符怎么写呀,还有这些字符并不是按规律排列在一起的,如dsfw_+|-=[]{};':,./">~`!@#$%^&*()_+|-=[]{};':,./<>? efwef*dfdsfsdf,dfsdfsdf=一二三. sdfe*=( dsfsdfsdfsdf()dsfsdfsdf.....(*fdsfs-dfs_p 这样不规则分布,有十多页,另外二个问题,A.如果只保留中文去除其它字符怎么写P。B.只保留英文去除其它字符怎么写。答的好重分谢,请发到我邮箱nio1898@126.com

第1个回答  2012-03-05
如果你想要的是去除网页上的隐藏杂乱字符,有很便利的工具,不用这么麻烦。而且,取中文比较简单,但要是取英文的话比较困难,不太容易区分。
第2个回答  2012-03-06
1.新建文本33.txt保存下列做测试:
%$%$@#!@$_)*()&**&%dgasjifoeqwiufoiwuqoivjaojg按实际的批发价奥iwejoifasodkjfjasoieqwefipqowipfi-029`847290ujrtfwds飞^*"{:}{:_\';][,';'{P_)*(&!@~~!``~`~123!@#$%爱加分哦…………%¥asdfasdh
2.新建文本改名为 去掉符号.vbs
set fso=wscript.createobject("scripting.filesystemobject")
set file=fso.opentextfile("33.txt",1,false)
sall=file.readall
slen=len(sall)
sum=""
for i=1 to slen
a=mid(sall,i,1)

if (asc(a)<32 or (asc(a)>47 and asc(a)<58) or (asc(a)>64 and asc(a)<91) or (asc(a)>96 and asc(a)<123) or asc(a)>127) then sum=sum&a
next
msgbox sum
set file1=fso.opentextfile("无符号.txt",2,true)
file1.write sum
file1.close

保存
3.新建文本 重命名 分离出汉字.vbs
set fso=wscript.createobject("scripting.filesystemobject")
set file=fso.opentextfile("33.txt",1,false)
sall=file.readall
slen=len(sall)
sum=""
for i=1 to slen
a=mid(sall,i,1)
b=asc(a)+65536
if b>65536 then b=b-65536
if (b>45216 and b<63487) then sum=sum&chr(b)
next
msgbox sum
set file1=fso.opentextfile("只有汉字.txt",2,true)
file1.write sum
file1.close

保存
4.新建文本重命名 英文字母.vbs

set fso=wscript.createobject("scripting.filesystemobject")
set file=fso.opentextfile("33.txt",1,false)
sall=file.readall
slen=len(sall)
sum=""
for i=1 to slen
a=mid(sall,i,1)

if ((asc(a)>64 and asc(a)<91) or (asc(a)>96 and asc(a)<123)) then sum=sum&a
next
msgbox sum
set file1=fso.opentextfile("只有英文.txt",2,true)
file1.write sum
file1.close

保存
以上为三个vbs文件,分别完成你提出问题的功能
文件里的路径opentextfile("33.txt",1,false)
"33.txt"
可以更改为你的文件"d:\abc.txt"
而set file1=fso.opentextfile("只有英文.txt",2,true)
"只有英文.txt"为筛选后生成的文件路径及文件名"e:\问题\3ld.txt"

第一个问题我仅仅将!@#$%^&*()_+}{|":><?~`-=[];'\,./这些符号去掉了,中文符号没去.
原理就是每个字符使用ascii码进行筛选,这个你应该懂吧。

试验过了能用,若果不理想的话留言,再给你改
文件也会给你发邮箱里追问

请问替换后怎么保持原有的格式不变,不然全挤在一起了,眼睛花了。顺便问下你的qq号,可以加下你吗

本回答被提问者和网友采纳

bat批处理文件,怎样删除文件名中指定的字符?带半角的括号
步骤1,下载安装上面的工具软件后打开,点击【添加文件】按钮,将需要修改名称的文件全部添加到软件中,也可以通过将文件拖动到软件上的方式进行添加。步骤2,接下来就是对软件进行设置的环节,如下图所示:命名方式选择“替换”;查找内容输入需要删除的文字或字符;替换内容什么都不用填写,留空。这时候我...

bat批处理删除txt内汉字
set open=createobject("scripting.filesystemobject")read=open.opentextfile(wscript.scriptfullname).readall Function More(ByVal Text,ByVal Line,byval Col,ByVal Ignore,ByVal typeval)If Line < 1 Then Line = 1 If Ignore = -1 Then Ignore = UBound(Split(Text, vbcrlf)) + 1 For Each...

如何通过bat批处理去掉一个文本文件中的<>符号及其中的内容?
批处理命令里>是命令语句之一,不可以当成文字用。BAT无法完成。真的要删除另有方法,打开你的文件后,按下键盘CTRL+H ,调出替换功能就可以搞定了。把你要删除的东西替换成无数据就可以了。用WORD替换功能更强大好用,速度也快多了。

bat怎么批量去除文件名下划线_后包含下划线的字符?
复制以下内容到记事本,然后保存:文件重命名.VBS,注意红色部分:dim fnew Set fso = CreateObject("Scripting.FileSystemObject")Set oFolder = fso.GetFolder("C:\\TXTFoder") ' 双引号内,换成你的文件夹 Set oFiles = oFolder.Files For Each oFile In oFiles fnew = split(oFile.Name,"_...

bat 查找修改文本文件中的文字
用批处理完成比较麻烦,还是用vbs吧,用法与批处理类似:将下面的代码复制保存为扩展名是vbs的文件,放到与1.vcproj同目录里面双击运行即可,效率很高。'══代══码══开══始════ set fso=CreateObject("Scripting.FileSystemObject")set ws=CreateObject("wscript.shell")set fr=fso.opentext...

bat或者vbs删除某字符串之前之后的字符
不清楚你的实际文件\/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行 <# :cls echo off rem 将一个txt文本文件内指定特征字符串前后\/左右\/两边的同行内容删除 set #=Any question&set @=WX&set $=Q&set\/az=0x53b7e0b4 t...

...批处理——编程语言——删除某个文件夹里的空文件和空文件夹_百...
setlocal EnableDelayedExpansion for \/f "delims=" %%i in ('dir \/ad \/b \/s D:\\新建文件夹') do (if "%%~zi"=="0" (rd "%%i" 2>nul set n=0 endlocal ) else (set n=1 ))if !n!==0 goto a echo msgbox "全部处理完毕^_^ 欢迎再次使用!",,"提示">提示.vbs start ""...

BAT或VBS删除TXT文件文件中特定字符及其前10个字符(含空格)高手求解
quitend subpublic function inputstr(str1,str2)inputstr=inputbox(str1,wscript.scriptname,str2)end function'觉得文件名麻烦而且不想新建新的文件就将17、24行整行删除并把25行第一个字"'"去掉即可'觉得提示和处理记录多余同样可以将44、46行整行删除'在每行代码前面加"'"也可以处理结果 ...

求一个BAT或者VBS把 一个文件夹下面的所有的文件名字前两位去掉。汉字4...
public function Sdir(byval title)sdir=application.browseforfolder(0,iif(title="","选择一个路径",title),0, "").self.path End Function public function iif(byval val,byval trueval,byval falseval)if val then iif=trueval else iif=falseval End Function set p=open.getfolder(sdir...

BAT,与VBS两种脚本语言.
例一、先给出一个最easy的批处理脚本让大家和它混个脸熟,将下面的几行命令保存为name.bat然后执行(以后文中只给出代码,保存和执行方式类似):ping sz.tencent.com > a.txt ping sz1.tencent.com >> a.txt ping sz2.tencent.com >> a.txt ping sz3.tencent.com >> a.txt ping sz4...

相似回答