标题: [已结]随机读取文本文件的一行文本内容
[打印本页]
作者: jhjhero
时间: 2008-11-28 09:23
标题: [已结]随机读取文本文件的一行文本内容
例如文本文件路径 c:\a.txt我想随即选取一行文字并显示:借鉴别人的写了下面代码:
@echo off
setlocal ENABLEDELAYEDEXPANSION
set file=cont.txt
set /a "col=%random% %% 100"
set /a col2 = %col% - 1
for /f "skip=%col2% tokens=*" %%i in (%file%) do echo !%%i! >1.txt
pause
goto :eof
代码执行没有结果,为什么???
[
Last edited by HAT on 2008-11-29 at 13:11 ]
作者: jhjhero
时间: 2008-11-28 09:28
重新贴上来个
@echo off
setlocal ENABLEDELAYEDEXPANSION
set file=a.txt
set /a "col=%random% %% 100"
set /a col2 = %col% - 1
for /f "skip=%col2% tokens=*" %%i in (%file%) do echo %%i >1.txt
pause
goto :eof
错误在那里呢??高手帮我指点一下~~~~`
作者: sea1112
时间: 2008-11-28 11:15
Quote: |
Originally posted by jhjhero at 2008-11-28 09:23 AM:
例如文本文件路径 c:\a.txt我想随即选取一行文字并显示:借鉴别人的写了下面代码:
@echo off
setlocal ENABLEDELAYEDEXPANSION
set file=cont.txt
set /a "co ... |
|
set /a "col=%random%%100
这里出来的是0~100之间的数
如果你走运出的是0或1,下一句就是col2=0-1、col2=1-1
文件就找不到内容了。
作者: sea1112
时间: 2008-11-28 11:19
还有你的文件内容是正好100行吗?
不然col2=99
你的文件内容没有100行,是出不来的啊。
作者: wangff
时间: 2008-11-28 15:27
@echo off
setlocal ENABLEDELAYEDEXPANSION
set file=cont.txt
:l
set /a col=%random% %% 100
set /a col2 = %col% - 1
for /f "skip=%col2% tokens=*" %%i in (%file%) do (
echo %%i
goto :n
)
:n
pause
goto l
原结果不是一行且放干1.txt中
[
Last edited by wangff on 2008-11-28 at 15:29 ]
作者: jhjhero
时间: 2008-11-28 19:43
谢谢大家的解答,问题已解决~~~~~~~~~