中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 03:48
48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]如何提取多个文件中所需的字符串
可打印版本  2,040 / 20
第1楼 yxzpt 发表于 2008-04-13 15:30
初级用户 发帖 29 积分 60
[求助]如何提取多个文件中所需的字符串
我用wget下载网页到同一个文件夹下,所以文件名是下面方式排列:
例:
index.asp.0
index.asp.1
index.asp.2
index.asp.3
index.asp.4
index.asp.5
……
index.asp.9999

我想提取所有文件的一段字符串输出并保存在同一个文本中,每行一个,如:
45H356YHH56Y5D9
943NF765HW7JH58
K58DH326FDHB69W
D785S6JHFKSLRIV

关键字符串是”key=45H356YHH56Y5D9“,不含引号

谢谢
第2楼 bat-zw 发表于 2008-04-13 15:57
金牌会员 发帖 1,276 积分 3,105
请测试:
放在目标文件夹中运行
@echo off
for /f "delims=" %%i in ('findstr "key=" index.asp.*') do echo %%i>>key.txt
第3楼 yxzpt 发表于 2008-04-13 16:05
初级用户 发帖 29 积分 60
谢谢,测试一下,提取如下:
index.asp.0: <td scope="col"><div align="center"><a href="http://pt.vicp.com/?login=change&key=45H356YHH56Y5D9 " target="_blank"><img src="images/h2.png" width="250" height="80" border="0"></a></div></td>
index.asp.1: <td scope="col"><div align="center"><a href="http://pt.vicp.com/?login=change&key=943NF765HW7JH58 " target="_blank"><img src="images/h2.png" width="250" height="80" border="0"></a></div></td>
第4楼 bat-zw 发表于 2008-04-13 16:13
金牌会员 发帖 1,276 积分 3,105
请贴出个index.asp文件
<td scope="col"><div align="center"><a

href="http://pt.vicp.com/?login=change&key=45H356YHH56Y5D9

" target="_blank"><img src="images/h2.png" width="250" height="80"

border="0"></a></div></td>应该是一行。

[ Last edited by zw19750516 on 2008-4-13 at 04:21 PM ]
第5楼 yxzpt 发表于 2008-04-13 16:19
初级用户 发帖 29 积分 60
<html>
<head>
<title>非常小店临时页面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script type="text/javascript">
<!--
function Submit_Click()
{
// document.form1.action = "advsetdb.asp";
LoginForm.submit();
return true;
}
function fixPng() {
var arVersion = navigator.appVersion.split("MSIE")
var version = parseFloat(arVersion[1])

if ((version >= 5.5 && version < 7.0) && (document.body.filters)) {
for(var i=0; i<document.images.length; i++) {
var img = document.images[i];
var imgName = img.src.toUpperCase();
if (imgName.indexOf(".PNG") > 0) {
var width = img.width;
var height = img.height;
var sizingMethod = (img.className.toLowerCase().indexOf("scale") >= 0)? "scale" : "image";
img.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + img.src.replace('%23', '%2523').replace("'", "%27") + "', sizingMethod='" + sizingMethod + "')";
img.src = "images/blank.gif";
img.width = width;
img.height = height;
}
}
}
}
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function GetImage(id,path)
{
document.getElementById(id).innerHTML = "<img src='"+path+"' width='271' height='85'>";
this. fixPng();
}
function ChangeImage(id,path)
{
document.getElementById(id).innerHTML = "<img src='"+path+"' width='271' height='85'>";
this. fixPng();
}
//-->
</script>
<link href="images/hk2000.css" rel="stylesheet" type="text/css">
<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
</head>
<body onLoad=" this.fixPng()">

<table width="950" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="275" background="images/top.jpg">
<script type="text/javascript">
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','940','height','270','src','images/hkqq','quality','high','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','scale','noborder','wmode','transparent','movie','images/hkqq' ); //end AC code
</script>
</td>
</tr>
<tr>
<td height="144" background="images/qqindex_02.jpg">
<table width="790" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<th height="210" background="images/zi2.gif" scope="col">&nbsp;</th>
</tr>
<tr>
<td scope="col"><div align="center"><a href="http://pt.vicp.com/?login=change&key=45H356YHH56Y5D9 " target="_blank"><img src="images/h2.png" width="250" height="80" border="0"></a></div></td>
</tr>
</table>
</td>
</tr>
</tbody>
</table>

</body>
</html>
第6楼 yxzpt 发表于 2008-04-13 16:23
初级用户 发帖 29 积分 60
是的,是一行,那怎么才能光提取那段字串呢?
第7楼 HAT 发表于 2008-04-13 16:33
版主 发帖 5,017 积分 9,023
笨办法:

第8楼 yxzpt 发表于 2008-04-13 16:45
初级用户 发帖 29 积分 60
恩,可以了,谢谢2位的帮忙!另外我想问下,我用wget下载网页,如图


我想问问是什么意思啊?
第9楼 bat-zw 发表于 2008-04-13 16:54
金牌会员 发帖 1,276 积分 3,105
终于还是搞出来了:
第10楼 yxzpt 发表于 2008-04-13 17:15
初级用户 发帖 29 积分 60
我把pause&goto :eof和goto :eof去掉了,为什么还是不能自动退出?
第11楼 bat-zw 发表于 2008-04-13 17:18
金牌会员 发帖 1,276 积分 3,105
Originally posted by yxzpt at 2008-4-13 17:15:
我把pause&goto :eof和goto :eof去掉了,为什么还是不能自动退出?

要自动退出只要去掉第一个pause&,后面的是for循环内部的一次调用的结束命令不能去掉的

[ Last edited by zw19750516 on 2008-4-13 at 05:19 PM ]
第12楼 yxzpt 发表于 2008-04-13 17:28
初级用户 发帖 29 积分 60
明白了,再次感谢!!
第13楼 lxmxn 发表于 2008-04-13 18:59
版主 发帖 4,938 积分 11,386
有没有grep v2.5.1 for win?

一个命令就可以搞定了:
第14楼 yxzpt 发表于 2008-04-13 20:58
初级用户 发帖 29 积分 60
哪里有这个命令?
第15楼 HAT 发表于 2008-04-13 22:51
版主 发帖 5,017 积分 9,023
Originally posted by yxzpt at 2008-4-13 08:58 PM:
哪里有这个命令?

google搜索UnxUtils
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023