标题: [文本处理] [已解决]批处理怎么过滤指定字符和重复项以及怎么替换 [打印本页]
作者: linjuming 时间: 2009-8-16 20:26 标题: [已解决]批处理怎么过滤指定字符和重复项以及怎么替换
8-16 22:00更新
问题一其实是http://www.bathome.net/thread-5553-1-1.html的延续,我按超级版主的代码镶嵌到我自己的代码中去,结果为空,请帮忙看看那里除了问题:- @echo off
- for /f "delims=" %%i in ('dir /b *.css') do (
- echo.
- echo.
- echo.
- echo %%i
- echo ----------------------------------------------------------------------------
- for /f "delims=" %%m in ('findstr "url" %%i') do (
- for /f "delims=() tokens=2" %%j in ("%%m") do (
- @echo off&setlocal enabledelayedexpansion
- for /f "skip=2 delims=" %%a in (%%j) do (
- set "str=%%a"
- if "!str:~,2!" neq ".." (
- if not defined _%%a echo %%a&set "_%%a=a"
- )
- )
- pause>nul
- )
- )
- )
- pause
复制代码
=====================================================================
问题一
怎样过滤掉蓝色部分和重复项目?
我用findstr [^..]
过滤../images/stit.jpg无效。
-----------------------------------------------------------------------------------------------------
"all.css"
"head.css"
star.gif
star.gif
mall_bg.gif
mall_bg.gif
mall_bg.gif
mall_bg.gif
mimid.gif
m-s-p.jpg
mall_bg.gif
../images/stit.jpg
mh2-bg.jpg
modulem.gif
mall_bg.gif
mall_bg.gif
fs.gif
../images/sid.gif
background.png
dot6.gif
mall_bg.gif
fs.gif
modulem.gif
dot6.gif
i-c.jpg
hot.jpg
../images/s-h5.jpg
../images/list-tit-bg.jpg
../images/list-tit-bg.jpg
mm.jpg
mm.jpg
mm.jpg
mm.jpg
mall_bg.gif
ehx_mid.gif
---------------------------------------------------------------------------------------------------------
我用 set str=%str*=% 无法删掉红色部分代码,应该怎么删?
------------------------------------------------------------------------------------------------------
.mh4 table img{width:218px;height:84px;background:url(mh4-link.jpg) no-repeat}
------------------------------------------------------------------------------------------------------
[ 本帖最后由 linjuming 于 2009-8-20 17:46 编辑 ]
作者: batman 时间: 2009-8-16 21:53 标题: 回复 1楼 的帖子
第一个问题:- @echo off&setlocal enabledelayedexpansion
- for /f "skip=2 delims=" %%a in (a.txt) do (
- set "str=%%a"
- if "!str:~,2!" neq ".." (
- if not defined _%%a echo %%a&set "_%%a=a"
- )
- )
- pause>nul
复制代码
第二个问题:- @echo off&setlocal enabledelayedexpansion
- set "str=.mh4 table img{width:218px;height:84px;background:url(mh4-link.jpg) no-repeat}"
- echo !str:*)=!
- pause>nul
复制代码
作者: keen 时间: 2009-8-16 21:57 标题: 回复 2楼 的帖子
第二个问题人家要删除红色部分。
作者: batman 时间: 2009-8-16 22:08 标题: 回复 3楼 的帖子
汗水....如此再替换一次就是的:- @echo off
- set "str=.mh4 table img{width:218px;height:84px;background:url(mh4-link.jpg) no-repeat}"
- set "a=%str:*)=%"
- call,echo %%str:%a%=%%
- pause>nul
复制代码
作者: zqz0012005 时间: 2009-8-16 22:14
findstr不是那么用的,好吧?复制代码
- findstr /v "^[.][.]" a.txt
复制代码
开头那两行为什么也要过滤?要遵循什么规则?老实交待!
作者: linjuming 时间: 2009-8-16 22:24
开头两行不是图片啊,问题更新了,帮我看看怎么解决
作者: linjuming 时间: 2009-8-16 22:26
findstr /v中的 /v是什么意思,我在api那里看不到有 /v 选项
作者: 基拉freedom 时间: 2009-8-16 22:28
问一下
batman的第一个代码是怎么样去除重复部分代码的...没看懂
作者: Batcher 时间: 2009-8-16 22:45 标题: 回复 7楼 的帖子
/V Prints only lines that do not contain a match.
|
你是采用何种方法查看API的呢?
作者: Lumiere 时间: 2009-8-16 22:50 标题: 回复 8楼 的帖子
if not defined 这句,没有定义_%%a的话就定义其为a,下次如果再遇到就变成已经定义了,那么if not defined后面的部分就不会执行了。
作者: linjuming 时间: 2009-8-16 22:51
看到了,有/v ,我看的是 ”批处理阶段教程奥运版【英雄出品】“
原来不全的,系统自带的有/v选项
作者: defanive 时间: 2009-8-16 22:55
不过奥运教程的进阶部分很有看头呢。。。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |