中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-24 22:08
47,813 主题排行 / 349,918 发帖 / 今日 1 篇 / 48,274 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何将字符写到文档的指定位置
可打印版本  1,154 / 14
第1楼 26933062 发表于 2007-03-24 18:46
银牌会员 发帖 879 积分 2,268
如何将字符写到文档的指定位置
有这样一个想法,要求生成一个文档a.txt
内容及格式如下

12121212121212121212121
1212 21 1 1 12 12121 1
1 1 1 1 2
1
1

特点:
内容全是1或2
先随机得到1或2然后写入a.txt
再随机得到1或2再写入a.txt
如此循环写40个
要求:
横向必须是1212121212 不能重复如 112或122都不行
纵向必须全是1或2

先谢谢两位的解答,可能是我说的不够清楚,
我的意识是
先随机得到一个数,不是1就是2,(或a和b也行)
然后将这个数写入a.txt
再随机得到一个数,不是1就是2,(或a和b也行)
再判断上一次得到的是1还是2,如果这次得到的和上次得到的相同,就把这次得到的写在上次得到的下面,反之则另起一行.

[ Last edited by 26933062 on 2007-3-25 at 06:23 PM ]
第2楼 26933062 发表于 2007-03-25 16:46
银牌会员 发帖 879 积分 2,268
怎么没人会吗? 还是我说的不够清楚???
第3楼 slore 发表于 2007-03-25 23:01
铂金会员 发帖 2,478 积分 5,212
横向必须是1212121212 不能重复如 112或122都不行
纵向必须全是1或2?

1212121212
1212121212
1212121212
1212121212

2121212121
2121212121
2121212121
2121212121
那么就这2种?没行的长度多少?还有你的空格部分又是什么?你的要求不清楚
第4楼 everest79 发表于 2007-03-26 01:10
金牌会员 发帖 1,127 积分 2,564
这个满意否?
第5楼 lxmxn 发表于 2007-03-26 07:56
版主 发帖 4,938 积分 11,386

To everest79:

  兄的代码很精彩,set/a运算可以说用的完美。

  另外,有一疑惑,为什么开头的SetLocal后面要加2>nul 3>nul呢?有什么作用?
第6楼 everest79 发表于 2007-03-26 08:00
金牌会员 发帖 1,127 积分 2,564
re lxmxn
将所有错误输出全部转向到nul,这样在以后的代码中再也不用2>nul了
主要因为使用set/a计算判断的话一定会输出错误信息

[ Last edited by everest79 on 2007-3-25 at 07:09 PM ]
第7楼 26933062 发表于 2007-03-26 12:37
银牌会员 发帖 879 积分 2,268
everest79
你的代码是很好,不过好像跟我的题意不符合啊,我什么地方说的不够清楚,请指出来,好吗?
第8楼 lxmxn 发表于 2007-03-26 13:31
版主 发帖 4,938 积分 11,386

  楼主的意思好像是排列出来的行字符数是固定的,即长度一定。
第9楼 26933062 发表于 2007-03-26 13:40
银牌会员 发帖 879 积分 2,268
行数不是固定的,而是不确定的.
随机得到的数和前一个数比较,一样的就纵向排例,不一样就横向排列
所以文档的内容横向就是 ababababababababab................
不可能是aab或bba
第10楼 everest79 发表于 2007-03-27 02:56
金牌会员 发帖 1,127 积分 2,564
随机序列,嘿嘿,又取巧了
第11楼 26933062 发表于 2007-03-27 12:56
银牌会员 发帖 879 积分 2,268
谢谢 everest79
问题解决了,代码没太看懂,慢慢琢磨!
再次谢谢!!!
第12楼 everest79 发表于 2007-03-27 23:51
金牌会员 发帖 1,127 积分 2,564
我是按你的意思按行输出的,然后再把他们反过来
第13楼 26933062 发表于 2007-03-28 05:41
银牌会员 发帖 879 积分 2,268
everest79兄弟 你的代码好像还有一点小毛病,就是多运行几次后,偶尔会在开头出现一两个空格,怎么回事?
第14楼 everest79 发表于 2007-03-28 06:11
金牌会员 发帖 1,127 积分 2,564
嘿嘿,你在最前边一行加上setlocal就可以了
第15楼 wydos 发表于 2007-03-28 08:28
中级用户 发帖 117 积分 304
问一下,
set /a aaa=%%random%%%%%%39+1
这行代码是什么意思,那么多的“%”
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023