[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 【已解决】求一个提取css的批处理文件

熟悉网页设计的人应该知道什么是css,我想通过在一个index.css文件中提取其中的几条标签,请问怎么做,我不会批处理,希望老哥们帮忙看看。

index.css中的代码如下:
  1. /* ::::: http://www.google.com/cse/api/branding.css ::::: */
  2. body {margin: 0pt;
  3. padding: 0pt;
  4. background: rgb(248, 248, 248) none repeat scroll 0% 0%;
  5. font-family: arial,verdana,sans-serif;
  6. font-size: 76%;
  7. color: rgb(0, 0, 0);
  8. text-align: center;}
  9. a, a:visited {color: rgb(0, 68, 136);
  10. text-decoration: none;}
  11. a:hover {text-decoration: underline;}
  12. pre {font-size: 11px;}
  13. code {font-size: 12px;}
  14. .hiddenfromview {display: none;}
  15. #wrapper {margin: 0pt auto;
  16. width: 1025px;
  17. text-align: left;}
  18. #topad {background: rgb(248, 248, 248) none repeat scroll 0% 0%;
  19. height: 70px;
  20. margin-top: 10px;}
  21. #topad img {display: block;
  22. float: left;}
  23. #topad .adLeft {padding: 5px 0pt;
  24. float: left;}
  25. #topad .adRight {padding: 5px 0pt;
  26. float: right;}
  27. #topindexad {background: rgb(248, 248, 248) none repeat scroll 0% 0%;
  28. height: 70px;
  29. margin-top: 10px;}
  30. #topindexad div {float: left;}
  31. #topindexad img {display: block;
  32. float: left;}
  33. #header {background: transparent url('bar45.gif') no-repeat scroll 0% 0%;
  34. width: 1025px;
  35. height: 80px;
  36. position: relative;}
  37. #logo {padding-left: 15px;
  38. height: 45px;}
  39. #logo h1 {margin: 0pt;
  40. overflow: hidden;
  41. height: 45px;
  42. font-size: 26px;
  43. font-family: "times new roman",serif;
  44. line-height: 38px;
  45. float: left;}
  46. #logo h1 a {color: rgb(0, 0, 0);}
  47. #logo h2 {margin: 0pt;
  48. overflow: hidden;
  49. height: 45px;
  50. font-size: 22px;
  51. font-family: "times new roman",serif;
  52. font-weight: normal;
  53. line-height: 41px;
  54. color: rgb(238, 238, 238);
  55. padding-left: 3px;}
  56. #logo h2 a {color: rgb(255, 255, 255);}
  57. #logo a:hover {text-decoration: none;}
  58. #logo h3 {display: none;}
  59. #toplink {background: transparent url('sub_bar.gif') no-repeat scroll 0% 0%;
  60. width: 1025px;
  61. height: 25px;
  62. position: absolute;
  63. top: 50px;
  64. left: 0pt;}
  65. #toplink ul {margin: 0pt;
  66. padding: 0pt;
  67. list-style-type: none;
  68. list-style-image: none;
  69. list-style-position: outside;
  70. position: absolute;
  71. right: 0pt;}
  72. #toplink ul li {float: left;
  73. margin-right: 10px;
  74. font-size: 9px;
  75. line-height: 25px;
  76. color: rgb(0, 153, 204);}
  77. #toplink ul li a {font-size: 9px;
  78. line-height: 25px;
  79. color: rgb(68, 68, 68);
  80. text-decoration: none;}
  81. #toplink ul li a:hover {text-decoration: underline;
  82. color: rgb(0, 153, 204);}
  83. #toplink ul li a img {border: 0pt none ;
  84. padding-top: 4px;}
  85. #botlink {width: 360px;
  86. height: 25px;
  87. position: absolute;
  88. top: 50px;
  89. left: 0pt;}
  90. #botlink ul {margin: 0pt;
  91. padding: 0pt;
  92. list-style-type: none;
  93. list-style-image: none;
  94. list-style-position: outside;}
  95. #botlink ul li {float: left;
  96. margin-left: 10px;
  97. font-size: 9px;
  98. line-height: 25px;
  99. color: rgb(136, 136, 136);}
  100. #botlink ul li a {font-size: 9px;
  101. line-height: 25px;
  102. color: rgb(68, 68, 68);
  103. text-decoration: none;}
  104. #botlink ul li a:hover {text-decoration: underline;
  105. color: rgb(0, 136, 204);}
  106. #midlink {width: 600px;
  107. height: 50px;
  108. position: absolute;
  109. top: 0pt;
  110. left: 150px;}
  111. #midlink ul {margin: 0pt;
  112. padding: 0pt;
  113. list-style-type: none;
  114. list-style-image: none;
  115. list-style-position: outside;}
  116. #midlink ul li {float: left;
  117. font-size: 14px;
  118. line-height: 36px;
  119. color: rgb(255, 255, 255);}
  120. #midlink ul li a {padding: 0pt 10px;
  121. font-size: 13px;
  122. line-height: 40px;
  123. color: rgb(255, 255, 255);
  124. text-decoration: none;
  125. font-weight: bold;}
  126. #midlink ul li a:hover {color: rgb(51, 51, 85);}
  127. #midlink ul li a.chosen {color: rgb(0, 0, 0);}
  128. #showcase {width: 1025px;
  129. height: auto;}
  130. img.slogan {background: transparent url('pc2.jpg') repeat scroll 0% 0%;
  131. display: block;
  132. float: left;}
  133. img.faq {background: transparent url('pc3.jpg') repeat scroll 0% 0%;
  134. display: block;
  135. float: left;}
  136. img.contact {background: transparent url('contact.jpg') repeat scroll 0% 0%;
  137. display: block;
  138. float: left;}
  139. img.privacy {background: transparent url('privacy.jpg') repeat scroll 0% 0%;
  140. display: block;
  141. float: left;}
  142. img.access {background: transparent url('access.jpg') repeat scroll 0% 0%;
  143. display: block;
  144. float: left;}
  145. img.support {background: transparent url('support.jpg') repeat scroll 0% 0%;
  146. display: block;
  147. float: left;}
  148. img.map {background: transparent url('map.jpg') repeat scroll 0% 0%;
  149. display: block;
  150. float: left;}
  151. img.advertise {background: transparent url('advertise2.jpg') repeat scroll 0% 0%;
  152. display: block;
  153. float: left;}
  154. img.oops {background: transparent url('oops.jpg') repeat scroll 0% 0%;
  155. display: block;
  156. float: left;}
  157. #info {border: 1px solid rgb(221, 221, 221);
  158. background: rgb(255, 255, 255) none repeat scroll 0% 0%;
  159. width: 750px;
  160. float: left;}
  161. #info2 {width: 750px;
  162. float: left;}
  163. #info2 h2 {margin: 0pt;
  164. padding: 10px 0pt 0pt 10px;
  165. font-size: 15px;
  166. color: rgb(17, 85, 17);}
  167. #info p {line-height: 1.5em;}
  168. #info p.info {margin-left: 10px;}
  169. #info h2 {margin: 0pt;
  170. padding: 10px 0pt 5px 10px;
  171. font-size: 15px;
  172. color: rgb(17, 85, 17);}
  173. .box250 {padding: 0pt 0pt 15px;
  174. background: transparent url('box_base.gif') no-repeat scroll left bottom;
  175. width: 250px;
  176. margin-bottom: 10px;}
  177. .box250 h3 {margin: 0pt;
  178. padding: 0pt 15px;
  179. background: transparent url('box.gif') repeat scroll 0% 0%;
  180. height: 30px;
  181. line-height: 30px;
  182. color: rgb(51, 51, 51);
  183. font-size: 12px;}
  184. .box250 ul {border-style: solid;
  185. border-color: rgb(216, 217, 218);
  186. border-width: 0pt 1px;
  187. margin: 0pt;
  188. padding: 15px 14px 0pt;
  189. background: rgb(255, 255, 255) none repeat scroll 0% 0%;
  190. list-style-type: none;
  191. list-style-image: none;
  192. list-style-position: outside;
  193. width: 220px;
  194. height: auto;}
  195. .box250 ul li {border-bottom: 1px solid rgb(240, 240, 240);
  196. padding: 2px 0pt;
  197. text-decoration: none;
  198. color: rgb(68, 68, 68);
  199. font-size: 11px;
  200. word-spacing: -1px;}
  201. .box250 ul li a {text-decoration: none;
  202. color: rgb(0, 68, 136);
  203. font-size: 12px;
  204. font-weight: bold;}
  205. .box250 ul li a:hover {text-decoration: underline;}
  206. .box250 p {border-style: solid;
  207. border-color: rgb(216, 217, 218);
  208. border-width: 0pt 1px;
  209. margin: 0pt;
  210. padding: 15px 14px 0pt;
  211. background: rgb(255, 255, 255) none repeat scroll 0% 0%;
  212. width: 220px;
  213. line-height: 1.3em;
  214. font-size: 11px;
  215. color: rgb(68, 68, 68);}
  216. .box250 dl {border-style: solid;
  217. border-color: rgb(216, 217, 218);
  218. border-width: 0pt 1px;
  219. margin: 0pt;
  220. padding: 0pt 14px;
  221. background: rgb(255, 255, 255) none repeat scroll 0% 0%;
  222. list-style-type: none;
  223. list-style-image: none;
  224. list-style-position: outside;
  225. width: 220px;}
  226. .box250 dt {margin: 0pt;
  227. padding: 10px 0pt;
  228. clear: left;
  229. font-size: 12px;
  230. font-weight: bold;
  231. color: rgb(17, 85, 17);}
  232. .box250 dd {border-bottom: 1px solid rgb(240, 240, 240);
  233. margin: 0pt;
  234. padding: 3px 0pt;
  235. font-size: 11px;
  236. line-height: 1.2em;
  237. color: rgb(68, 68, 68);}
  238. .box250 dd a {display: block;
  239. color: rgb(0, 68, 136);
  240. text-decoration: none;
  241. width: 220px;
  242. font-size: 12px;}
  243. .box250 dd a em {color: rgb(102, 102, 102);
  244. float: right;
  245. font-style: normal;
  246. font-size: 11px;}
  247. .box250 dd a:hover {color: rgb(0, 136, 204);
  248. text-decoration: none;}
  249. .box250 table caption {margin: 0pt;
  250. padding: 0pt;
  251. background: transparent url('box.gif') repeat scroll 0% 0%;
  252. width: 250px;
  253. height: 30px;
  254. line-height: 30px;
  255. color: rgb(51, 51, 51);
  256. font-size: 12px;
  257. text-align: left;
  258. text-indent: 15px;
  259. font-weight: bold;}
  260. .box250 table {border-style: solid;
  261. border-color: rgb(216, 217, 218);
  262. border-width: 0pt 1px;
  263. background: rgb(255, 255, 255) none repeat scroll 0% 0%;
  264. width: 250px;}
  265. .box250 table th {padding-top: 5px;
  266. text-indent: 5px;
  267. color: rgb(17, 85, 17);}
  268. .box250 table td {text-indent: 5px;
  269. color: rgb(68, 68, 68);}
  270. .box250 table tfoot td {text-align: center;
  271. color: rgb(102, 102, 102);
  272. font-size: 11px;
  273. padding-top: 10px;}
  274. .box250 form {margin: 0pt;}
  275. .box250 a.bannerad img {display: block;
  276. padding-bottom: 4px;}
  277. .plain250 {padding: 0pt 0pt 15px;
  278. background: transparent url('plain250.gif') no-repeat scroll left bottom;
  279. width: 250px;
  280. margin-bottom: 10px;}
  281. .plain250 div {background: transparent url('plain250.gif') no-repeat scroll left top;
  282. width: 250px;
  283. text-align: center;}
  284. .plain250 ul {border-style: solid;
  285. border-color: rgb(216, 217, 218);
  286. border-width: 0pt 1px;
  287. margin: 0pt;
  288. padding: 0pt 14px;
  289. background: rgb(255, 255, 255) none repeat scroll 0% 0%;
  290. list-style-type: none;
  291. list-style-image: none;
  292. list-style-position: outside;
  293. width: 220px;
  294. height: auto;}
  295. .plain250 ul li {border-bottom: 1px solid rgb(240, 240, 240);
  296. padding: 2px 0pt;
  297. text-decoration: none;
  298. color: rgb(68, 68, 68);
  299. font-size: 11px;
  300. word-spacing: -1px;
  301. text-align: left;}
  302. .plain250 ul li a {text-decoration: none;
  303. color: rgb(0, 68, 136);
  304. font-size: 12px;
  305. font-weight: bold;}
  306. .plain250 ul li a:hover {text-decoration: underline;}
复制代码
我想提取其中几条我需要的标签,条件文本 rule.txt 内容如下:
  1. "file:///F:/ScrapBook/data/20090413141615/index.css","file:///F:/ScrapBook/data/20090518222439/index.css"
  2. "No used selectors","14 used selectors:"
  3. ,
  4. ,body
  5. ,a
  6. ,a:visited
  7. ,a:hover
  8. ,#wrapper
  9. ,#content
  10. ,#right_column
  11. ,.box250
  12. ,.box250 dl
  13. ,.box250 dt
  14. ,.box250 dd
  15. ,.box250 dd a
  16. ,.box250 dd a em
  17. ,.box250 dd a:hover
复制代码
通过双击批处理文件后,得到一个result.txt文件内容如下:
  1. a, a:visited {color: rgb(0, 68, 136);
  2. text-decoration: none;}
  3. a:hover {text-decoration: underline;}
  4. ......
  5. .box250 {padding: 0pt 0pt 15px;
  6. background: transparent url('box_base.gif') no-repeat scroll left bottom;
  7. width: 250px;
  8. margin-bottom: 10px;}
  9. .......
复制代码
[ 本帖最后由 Batcher 于 2009-5-22 22:15 编辑 ]
1

评分人数

    • Batcher: 感谢主动给标题标注[已解决]字样PB + 2

  请用文字描述依照什么规律提取什么样的字符串,而不应只给出原始代码、rule.txt文件及最终结果——试问,除了你自己之外,有谁能真正明白其中的转化规律?
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

对不起,之前说的不太清楚,现在加上了图片说明,应该好理解一点。

TOP

  请先把 index.css 中MAC风格的换行符CR换成Windows风格的回车换行符CR+LF,再使用如下代码试试:
  1. @echo off
  2. cd.>result.txt
  3. setlocal enabledelayedexpansion
  4. for /f "skip=3 delims=," %%i in (rule.txt) do (
  5.     for /f "delims=:" %%j in ('findstr /bnc:"%%i {" index.css') do (
  6.         call :get %%j
  7.     )
  8. )
  9. start result.txt
  10. exit
  11. :get
  12. set /a num=%1-1
  13. echo.>>result.txt
  14. for /f "skip=%num% delims=" %%i in (index.css) do (
  15.     (echo %%i)>>result.txt
  16.     set "str=%%i"
  17.     if "!str:~-1!"=="}" goto :eof
  18. )
  19. goto :eof
复制代码
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

管理员飞扬哥,你太狠了,这么难的功能你都能写出来,佩服!!
太谢谢拉,我把帖子发了好几个论坛,没人理睬,或者说是太难,就你好人,好感动啊!!
祝愿批处理之家越办越好,成为中国最top的程序家园。

TOP

  网上有这样的说法:问题能否得到解决,一方面取决于问题的难度,另一方面,还取决于你的提问方式及态度。具体到你这个帖子,一是因为问题有一定难度,另一方面,还在于你的描述太模糊,别人无法理解其宗的转换规律,所以会无人理睬。

  题目的难度我们都没法控制,我们能控制的,就是我们的描述,不要让别人看着我们的描述,越来越头晕,人为地增加了不必要的难度,一定要确保我们的真实意图能清晰地传达给别人。

  呵呵,啰啰嗦搜说了一大堆,就是希望以后能注意描述的清晰准确,以方便别人理解

  最后,对你的祝福表示感谢,最top不敢奢望,但是,做最好的批处理论坛,则是我们所孜孜以求的。
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

返回列表