中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-10 17:28
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]随机读取文本文件的一行文本内容 查看 798 回复 5
楼 主 [已结]随机读取文本文件的一行文本内容 发表于 2008-11-28 09:23 ·  中国 黑龙江 大庆 联通
初级用户
积分 21
发帖 20
注册 2008-11-26 17:57
17年会员
UID 132164
性别 男
状态 离线
例如文本文件路径 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 ]
2 发表于 2008-11-28 09:28 ·  中国 黑龙江 大庆 联通
初级用户
积分 21
发帖 20
注册 2008-11-26 17:57
17年会员
UID 132164
性别 男
状态 离线
重新贴上来个
@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

错误在那里呢??高手帮我指点一下~~~~`
3 发表于 2008-11-28 11:15 ·  中国 广东 广州 白云区 电信
初级用户
★★
积分 131
发帖 119
注册 2007-06-12 22:50
19年会员
UID 91125
性别 男
来自 gz
状态 离线
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
文件就找不到内容了。
4 发表于 2008-11-28 11:19 ·  中国 广东 广州 白云区 电信
初级用户
★★
积分 131
发帖 119
注册 2007-06-12 22:50
19年会员
UID 91125
性别 男
来自 gz
状态 离线
还有你的文件内容是正好100行吗?
不然col2=99
你的文件内容没有100行,是出不来的啊。
5 发表于 2008-11-28 15:27 ·  中国 福建 泉州 移动
初级用户
★★
积分 134
发帖 54
注册 2008-11-19 11:47
17年会员
UID 131429
性别 男
状态 离线
@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 ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
HAT +2 2008-11-29 13:11
6 发表于 2008-11-28 19:43 ·  中国 黑龙江 大庆 联通
初级用户
积分 21
发帖 20
注册 2008-11-26 17:57
17年会员
UID 132164
性别 男
状态 离线
谢谢大家的解答,问题已解决~~~~~~~~~
论坛跳转: