标题: [文本处理] 批处理如何以每次随机读取1-4行的方式读完一个文本? [打印本页]
作者: qie2015 时间: 2015-11-27 21:54 标题: 批处理如何以每次随机读取1-4行的方式读完一个文本?
- for /f "usebackq delims=*" %%i in (NewColsing.txt) do (
- >>D:\sss.txt echo,%%i
- echo,%%i
- pause
- )
复制代码
如上,为逐步读取,如何改为随机1-4行的读取这个文本,不落的读完。大神请赐教
作者: pcl_test 时间: 2015-11-27 22:18
说到随机,一定要说明能不能重复
作者: qie2015 时间: 2015-11-27 22:27
回复 2# pcl_test
是啊,依次不落的,没有重复的读完。 怎么破?大师
作者: pcl_test 时间: 2015-11-27 23:12
本帖最后由 pcl_test 于 2015-11-28 20:46 编辑
回复 3# qie2015 - @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('type "文本.txt"') do set/a n+=1&set #!random!a!random:~-2!=%%a
- set t=0
- :0
- set/a r=!random!%%4+1
- echo;读取%r%行--------------------------
- call :loop %t% %r%
- set/a t+=%r%
- if %t% lss %n% goto :0
- pause&exit/b
- :loop
- set s=0
- for /f "tokens=1* delims==" %%a in ('set #^|more +%1') do (
- set/a s+=1
- echo;%%b
- if !s! equ %2 goto :eof
- )
- goto :eof
复制代码
作者: qie2015 时间: 2015-11-27 23:20
回复 4# pcl_test
原来这么高级啊。 这么多代码。好难懂
作者: qie2015 时间: 2015-11-27 23:24
回复 4# pcl_test
大师,好像有个小问题,读完了还在读
作者: pcl_test 时间: 2015-11-27 23:29
回复 6# qie2015
截图看看
作者: qie2015 时间: 2015-11-27 23:36
回复 7# pcl_test
for /f "delims=:" %%a in ('findstr/n ".*" "1.txt"') do (set ns=%%a)
if %t% lss !ns! goto :0
加了第一行可以了
作者: qie2015 时间: 2015-11-27 23:43
回复 7# pcl_test
可以每行被读取后面加间隔10秒吗?
作者: pcl_test 时间: 2015-11-27 23:48
回复 9# qie2015
不明觉厉
作者: qie2015 时间: 2015-11-27 23:54
回复 10# pcl_test
如:随机3行
echo,第一行
timeout /t 10
echo,第二行
timeout /t 10
echo,第三行
timeout /t 10
作者: pcl_test 时间: 2015-11-27 23:56
回复 11# qie2015
你都编出来了,还问我
作者: qie2015 时间: 2015-11-28 00:00
回复 12# pcl_test
哦哦,知道了, 你这代码太帅了
作者: pcl_test 时间: 2015-11-28 00:15
回复 13# qie2015
渣渣而已
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |