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

[文本处理] 删除文本中的指定字符串并行间随机插入一行内容

批处理修改文本,有点小复杂吧!

首先是把这段文本(文件名叫a.txt)的第一行的一对"<p></p>"去掉,然后把"{-File.GetString-|-D:\article\aaaa-|-0-|-false-}"这行代码随机加入到a.txt文本中(加入3个)。



就像这样子



添加到哪行都无所谓,但是不能添加到第一行。

有没有朋友帮个忙啊

TOP

本帖最后由 pcl_test 于 2015-2-9 16:59 编辑

回复 1# heychaw
假设有文档test.txt
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set n=0
  4. set m=1
  5. for /f "delims=" %%a in ('type "test.txt"') do (
  6. set /a n+=1
  7. )
  8. :getnumber
  9. set /a t1=2+%random%%%(2-n+1)
  10. set /a t2=2+%random%%%(2-n+1)
  11. set /a t3=2+%random%%%(2-n+1)
  12. if %t1%==%t2% (
  13.   goto getnumber
  14. ) else (
  15.     if %t2%==%t3% (
  16.       goto getnumber
  17.     ) else (
  18.       if %t1%==%t3% (
  19.         goto getnumber
  20.       ) else (
  21.       goto getecho
  22.       )
  23.     )
  24. )
  25. :getecho
  26. echo 代码将随机添加到第%t1%、%t2%、%t3%行
  27. for /f "delims=" %%a in ('type "test.txt"') do (
  28. if !m!==1 (
  29. set str=%%a
  30. set str=!str:~3,-4!
  31. >"tmp.txt" echo,!str!
  32. ) else (
  33.   if !m!==%t1% (
  34.   >>"tmp.txt" echo,%%a{-File.GetString-^|-D:\article\aaaa-^|-0-^|-false-}
  35.   ) else (
  36.     if !m!==%t2% (
  37.     >>"tmp.txt" echo,%%a{-File.GetString-^|-D:\article\aaaa-^|-0-^|-false-}
  38.     ) else (
  39.       if !m!==%t3% (
  40.       >>"tmp.txt" echo,%%a{-File.GetString-^|-D:\article\aaaa-^|-0-^|-false-}
  41.       ) else (
  42.       >>"tmp.txt" echo,%%a
  43.       )
  44.     )
  45.   )
  46. )
  47. set /a m+=1
  48. )
  49. rem move "tmp.txt" "test.txt"
  50. echo 完成!
  51. pause
复制代码
1

评分人数

TOP

返回列表