中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-09 14:40
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 难题:如何delims 双引号 查看 1,032 回复 10
楼 主 难题:如何delims 双引号 发表于 2008-08-27 23:34 ·  美国 惠普HP
中级用户
★★
积分 400
发帖 211
注册 2007-09-30 18:02
18年会员
UID 98650
性别 男
状态 离线
要用双引号做分隔符,for 循环因该则么写?
要过滤出URL: “http://feeds.penton.com/windowsitpro/wininfo

for /F "tokens=4 delims=“”" %i in (test.txt) do @echo %i


test.txt 包含如下内容:

<link rel="alternate" title="Products" href="http://feeds.penton.com/windowsitpro/wininfo" type="application/rss+xml">
。。。。。。。。

[ Last edited by uiopuiop on 2008-8-29 at 12:10 AM ]
2 发表于 2008-08-27 23:51 ·  中国 江苏 苏州 中移铁通
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
换个角度

@echo off
for /f "tokens=4" %%i in (test.txt) do (
for /f "tokens=2 delims==" %%a in ("%%i") do (echo %%~a)
)
pause


@echo off&&setlocal enabledelayedexpansion
for /f "delims=" %%i in (a.txt) do (
set a=%%i
set a=!a:"='!
)
for /f "tokens=6 delims='" %%i in ("%a%") do (echo %%i)
pause


[ Last edited by huahua0919 on 2008-8-28 at 12:36 AM ]
3 发表于 2008-08-28 20:37 ·  中国 上海 浦东新区 电信
中级用户
★★
积分 400
发帖 211
注册 2007-09-30 18:02
18年会员
UID 98650
性别 男
状态 离线
难道真的不能直接分隔双引号吗?

我上面只不过举个例子,实际情况可能是多变的。
4 发表于 2008-08-28 20:43 ·  中国 江苏 苏州 中移铁通
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
根据多变的实际情况,进行变通
5 发表于 2008-08-28 21:24 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
难道真的不能直接分隔双引号吗?确实真的不能直接分隔双引号吗!
6 发表于 2008-08-28 21:38 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
findstr /i "href=" "test.txt"|gawk -F\" "{print $6}"


gawk.exe
http://upload.cn-dos.net/img/548.zip
7 发表于 2008-08-28 22:53 ·  美国 惠普HP
中级用户
★★
积分 400
发帖 211
注册 2007-09-30 18:02
18年会员
UID 98650
性别 男
状态 离线
如果要过滤出一个网页的所有超链接因该则么做?
8 发表于 2008-08-28 23:13 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
能把test.txt的完整内容贴出来看看么?
如果for里面的delims允许用双引号作分隔符,你准备如何“过滤出一个网页的所有超链接”?
9 发表于 2008-08-28 23:48 ·  中国 上海 浦东新区 电信
中级用户
★★
积分 400
发帖 211
注册 2007-09-30 18:02
18年会员
UID 98650
性别 男
状态 离线
比如这个页面的代码把,能过滤出所有超链接的清单吗?
另一方面只是想知道是否真的不能delims 双引号。
10 发表于 2008-08-28 23:53 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
你给出的test.txt只有一个超链接,6楼的代码不行?
确定肯定以及一定不能delims双引号。
11 发表于 2008-08-29 00:08 ·  中国 上海 浦东新区 电信
中级用户
★★
积分 400
发帖 211
注册 2007-09-30 18:02
18年会员
UID 98650
性别 男
状态 离线
我说的是一个网页上的所有超链接,比如WWW.SINA.COM 主页上的所有超链接。
论坛跳转: