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

[文本处理] 批处理如何以每次随机读取1-4行的方式读完一个文本?

  1. for /f "usebackq delims=*" %%i in (NewColsing.txt) do (
  2.     >>D:\sss.txt echo,%%i
  3. echo,%%i
  4. pause
  5. )
复制代码
如上,为逐步读取,如何改为随机1-4行的读取这个文本,不落的读完。大神请赐教

说到随机,一定要说明能不能重复

TOP

回复 2# pcl_test


    是啊,依次不落的,没有重复的读完。 怎么破?大师

TOP

本帖最后由 pcl_test 于 2015-11-28 20:46 编辑

回复 3# qie2015
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('type "文本.txt"') do set/a n+=1&set #!random!a!random:~-2!=%%a
  4. set t=0
  5. :0
  6. set/a r=!random!%%4+1
  7. echo;读取%r%行--------------------------
  8. call :loop %t% %r%
  9. set/a t+=%r%
  10. if %t% lss %n% goto :0
  11. pause&exit/b
  12. :loop
  13. set s=0
  14. for /f "tokens=1* delims==" %%a in ('set #^|more +%1') do (
  15.     set/a s+=1
  16.     echo;%%b
  17.     if !s! equ %2 goto :eof
  18. )
  19. goto :eof
复制代码

TOP

回复 4# pcl_test


    原来这么高级啊。 这么多代码。好难懂

TOP

回复 4# pcl_test


    大师,好像有个小问题,读完了还在读

TOP

回复 6# qie2015

截图看看

TOP

回复 7# pcl_test


    for /f "delims=:" %%a in ('findstr/n ".*" "1.txt"') do (set ns=%%a)

if %t% lss !ns! goto :0
加了第一行可以了

TOP

回复 7# pcl_test


    可以每行被读取后面加间隔10秒吗?

TOP

回复 9# qie2015


    不明觉厉

TOP

回复 10# pcl_test


    如:随机3行
echo,第一行
timeout /t 10
echo,第二行
timeout /t 10
echo,第三行
timeout /t 10

TOP

回复 11# qie2015


    你都编出来了,还问我
1

评分人数

TOP

回复 12# pcl_test


    哦哦,知道了, 你这代码太帅了

TOP

回复 13# qie2015

渣渣而已
2

评分人数

    • 回家路上: 真心帅还真心谦虚技术 + 1
    • CrLf: 这么帅还这么谦虚技术 + 1

TOP

返回列表