批处理删除文本里每行后几位字符

我有多个txt文件,里面保存的是一些账号密码,分隔符是4个----。如何批量删除密码,只保留账号。列子如下
i8d6s08gow4c----ks08go
nvrikpqcks----08gnv3bjrz
i79d6qo3px5d----lt19hp
zjdvde08gow4----cks08g
m6urto78u2ai----qy6dlt
v370kixjrz7f----nv3bjr
pgie6hwiqy66----emu2ai
m53iducdz7fn----v3bjrz
rrty056s08go----w4cks0
ezbpb97m8gow----4cks08
ydvn86l7emu2----aiqy6e
ljqywu9v3bjr----z7fnv3
a8h0sdapbjrz----7fnv3b
e76uyzlt19hp----x5dlt1
如何批量删除----及密码

第1个回答  2014-04-05

保存为vbs类型文件

dim fso,file_suffix,spath,sfile,read,string_arr(),count,list,TextIntercept,FilterString,file_list
StringIntercept="----" '需要处理的字符串
file_suffix="txt"        '需要处理的文本文件后缀名
set fso=createobject("scripting.filesystemobject")
for each file_list in fso.getfolder(".").files '遍历文件夹内的文件
 if fso.getextensionname(file_list.name)=file_suffix then '判断后缀名
  erase string_arr '删除数组
  count=0   '重置元素
  read=fso.opentextfile(file_list).readall '读取全文
  TextIntercept=split(read,vbcrlf) '截取字符串
  for each list in TextIntercept '遍历全文
   redim preserve string_arr(count) '重定义数组
   string_arr(count)=split(list,StringIntercept)(0) '将返回结果赋值给变量数组
   count=count+1 '新建元素
  next
  FilterString=join(string_arr,vbcrlf) '合并数组
  fso.createtextfile(file_list).write FilterString '写入文件
 end if
 next
set fso=nothing '释放内存

第2个回答  2014-04-06
for /f "delims=----" %%a in 帐号和密码.txt do %%a>>帐号.txt应该可行吧?for读取----前面的字符串,再输入到新文档里
第3个回答  2014-04-06
txt文件名是从1开始排序吗???这样的话比较简单,加个分隔符就搞定了
第4个回答  推荐于2017-09-23
@echo off
for /f "delims=" %%a in ('dir /a-d /b *.txt') do (
(for /f "usebackq tokens=1* delims=-" %%b in ("%%a") do (
echo.%%b
))>$
move $ "%%a"
)

将多个txt文件和这个批处理集中放在同一个文件夹中,运行此批处理

本回答被提问者采纳
相似回答