中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 00:43
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 复制,全排列,替换综合在一起的一个问题
可打印版本  766 / 10
第1楼 superchao115 发表于 2009-06-04 09:20
初级用户 发帖 32 积分 26
复制,全排列,替换综合在一起的一个问题
我想在txt文档中输出一系列内容,格式如下:
mat_create_lam3( "TSCF", "", 1, , , , , 4, "", "Create" )

---------------------------------------这里列举2个句子,在txt里是写在一行的。上面是一个,下面是一个。

mat_create_lam3( "TSCC", "", 1, , , , , 4, "", "Create" )

………………
格式都是按上面的格式输出,总共有4种变化形式,T,S,C,F,这4个模式对应后面第一个中括号中内容。首字母都相同,T,对应T300,S,对应shear,C,对应crack,F对应failure.如第一个中的 TSCF,对应。。每句就这2个地方有变化。列出所有的情况,也就是T,S,C,F的全排列的可能,总共有4*4*4*4=256种情况。
要将这256个句子写在一个文本文档里输出。

不知道我说清楚了没,批处理能否实现吗?谢谢各位热心朋友!

[ Last edited by superchao115 on 2009-6-4 at 09:25 ]
第2楼 26933062 发表于 2009-06-04 10:51
银牌会员 发帖 879 积分 2,268
4位数的排列应该只有24种吧?
难道 aaaa aaab aaac 也算?
另外不知道你要输出怎样的格式,最好给出几个输出后的例子。
如果这个问题用bat来作,效率会很低,你的文件大概有多少行?

[ Last edited by 26933062 on 2009-6-4 at 10:54 ]
第3楼 superchao115 发表于 2009-06-04 11:01
初级用户 发帖 32 积分 26
AAAA,AAAB,AAAC,AAAD都算,所有的可能都算。256种
给的那2个句子就是格式呀。就是2个地方变化,其他的都一样。
上面给的那个放文本里就一行,256种情况,一种情况一句,共256句。
第4楼 26933062 发表于 2009-06-04 11:43
银牌会员 发帖 879 积分 2,268
文本中不能含有 半角 !符号
:

[ Last edited by 26933062 on 2009-6-4 at 11:45 ]
第5楼 superchao115 发表于 2009-06-04 12:10
初级用户 发帖 32 积分 26
运行不了哇?
第6楼 26933062 发表于 2009-06-04 12:19
银牌会员 发帖 879 积分 2,268
为什么我运行正确呢?
第7楼 superchao115 发表于 2009-06-04 12:21
初级用户 发帖 32 积分 26
我希望得到的结果是:
mat_create_lam3( "TSCF", "", 1, ["T300", "shear", "crack", "failure"], ["1.000000E+000", "1.000000E+000", "1.000000E+000", "1.000000E+000"], ["0.000000E+000", "4.500000E+001", "9.000000E+001", "-4.50000E+001"], ["", "", "", ""], 4, "", "Create" )

mat_create_lam3( "TSCC", "", 1, ["T300", "shear", "crack", "crack"], ["1.000000E+000", "1.000000E+000", "1.000000E+000", "1.000000E+000"], ["0.000000E+000", "4.500000E+001", "9.000000E+001", "-4.50000E+001"], ["", "", "", ""], 4, "", "Create" )

这样下去,256行。。。 可能你没明白我的意思。
第8楼 superchao115 发表于 2009-06-04 12:26
初级用户 发帖 32 积分 26
第9楼 superchao115 发表于 2009-06-04 12:27
初级用户 发帖 32 积分 26
谢谢你,我刚弄错了。不好意思,谢谢了,高手。
第10楼 kendos 发表于 2009-06-04 20:50
初级用户 发帖 25 积分 36
请问在批处理中如何忽略空格
例如set /p yn=
if "%yn%"=="y" goto 1
if "%yn%"=="n" goto 2
如果输入的字符中有空格或错误字符的话,它下面的分支语句if就起不到作用,它就只会按顺序执行
第11楼 terse 发表于 2009-06-04 22:37
银牌会员 发帖 946 积分 2,404
如果前面字符固定的 我将4楼楼兄的简化下:
将开启变量延迟 放在FOR里
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023