[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
问题一和问题二是同时处理的吧?
tmplinshi 发表于 2011-5-28 17:58



是啊是啊

小弟不希望是改天再处理

要一起处理! 谢谢!

TOP

问题一和问题二是同时处理的吧?

TOP

问题一是仅删除相邻两行的吗?而且这些都是独占一行?如果真是如此,那倒不难:@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%a in (1.txt) do (
   if "%%a"=="" (set /a n+=1) else set n=
   ...
zm900612 发表于 2011-5-28 17:31


谢谢您啊

但是我只是一介新手

您帮我pause出来,我是看的很开心

但是我不懂处理后怎么输出啊

TOP

本帖最后由 zm900612 于 2011-5-28 18:57 编辑

问题一是仅删除相邻两行的<MATab>吗?而且这些<MATab>都是独占一行?如果真是如此,那倒不难:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (1.txt) do (
  3.    if "%%a"=="<MATab>" (set /a n+=1) else set n=
  4.    if !n! leq 1 echo %%a
  5. )
  6. pause
复制代码
问题二中的关键词如果一行最多只有一个,看上去也不是太难,不知是不是这样:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=:" %%a in ('findstr /n .* 1.txt') do (
  3.    set /a n+=1,h=%%a
  4. )
  5. if %n% geq 3 for /f "tokens=1* delims=:" %%a in ('findstr /n .* 1.txt') do (
  6.    set "tmp=%%b</tabID>"
  7.    if %%a neq %h% (
  8.       echo;!tmp:^</tabID^>=!
  9.    ) else echo;%%b
  10. )
  11. pause
复制代码

TOP

别欺负我啊~~蝙蝠侠大哥

您要我具体样式我也给了

您要我至顶楼我也至了

不会还要我瞌头请托吧

虽然我是孤苦无依的台湾人

但我为了批处理来这热爱祖国啊

还学习祖国的用语来发文


麻烦帮忙~~蝙蝠侠大哥

TOP

本帖最后由 leo198444 于 2011-5-28 17:00 编辑

麻烦您了~~蝙蝠侠

TOP

请更新至顶楼。。。。
***共同提高***

TOP

本帖最后由 leo198444 于 2011-5-28 16:51 编辑

整个文本很多内容,要全部贴出来吗@@?

例举其中一段

问题1
处理前:

  <MATab>
    <tabID>tbp2</tabID>
    <tabName>尚未</tabName>
  </MATab>
  <MATab>
  <MATab>
   
<tabID>tbp1</tabID>
    <tabName>尚未</tabName>
  </MATab>

处理后:

  <MATab>
    <tabID>tbp2</tabID>
    <tabName>尚未</tabName>
  </MATab>
  <MATab>   
<tabID>tbp1</tabID>
    <tabName>尚未</tabName>
  </MATab>

问题2
处理前:

    <tabID>tbp3</tabID>   
<tabName>尚未</tabName>
  </MATab>
  <MATab>
    <tabID>tbp4</tabID>   
<tabName>尚未</tabName>
  </MATab>
  <MATab>
    <tabID>tbp5</tabID>   
<tabName>尚未</tabName>

处理后:

<tabID>tbp3
    <tabName>尚未</tabName>
  </MATab>
  <MATab>
    <tabID>tbp4
    <tabName>尚未</tabName>
  </MATab>
  <MATab>
    <tabID>tbp5</tabID>    
<tabName>尚未</tabName>

麻烦谢谢

TOP

请楼主贴上文本具体样式。。。。
***共同提高***

TOP

我来回答第三个:@echo off
copy a.txt+b.txt b.txt
Hello123World 发表于 2011-5-28 16:03

谢谢

批处理貌似对纵列不易处理啊@@

TOP

本帖最后由 Hello123World 于 2011-5-28 16:29 编辑

我来回答第三个:
  1. @echo off
  2. copy /y a.txt+b.txt b.txt
复制代码
忘记加/y 参数了。

TOP

返回列表