标题: [数值计算] 【已完成】求助批处理如何输出两位字母的所有组合? [打印本页]
作者: silenttea 时间: 2022-8-5 15:53 标题: 【已完成】求助批处理如何输出两位字母的所有组合?
本帖最后由 silenttea 于 2022-8-6 22:43 编辑
我想将他们输入到一个文件上,代码如下,(不完全)- set lenw=2
- set "word=a b c d e f g h i j k l m n o p q r s t u v w x y z "
- for /l %%i in (1,1,%lenw%) do (
- for /l %%j in (1,1,%%i) do (
- for %%k in (%word%) do (
- set "_%%k=%_%%k%%%k"
- ::本想用变量不断迭代一个个值,后来发现所需变量太多,方法不对
- )
复制代码
求助一种通用的任意长度的字母组合,谢谢(#^.^#)
作者: qixiaobin0715 时间: 2022-8-5 16:23
两个字母的组合:- @echo off
- set letters=a b c d e f g h i j k l m n o p q r s t u v w x y z
- for %%i in (%letters%) do (
- for %%j in (%letters%) do (
- echo,%%i%%j
- )
- )
- pause
复制代码
作者: qixiaobin0715 时间: 2022-8-5 16:26
笨办法,n个字母组合就用n个循环。
作者: Batcher 时间: 2022-8-6 19:42
回复 1# silenttea
批处理根据输入列出排列组合
http://bbs.bathome.net/thread-1701-1-1.html
批处理变量嵌套+递归法实现排列组合
http://bbs.bathome.net/thread-6354-1-1.html#pid41184
批处理输出若干个字符或数字的排列组合
http://bbs.bathome.net/thread-11959-1-1.html#pid76175
作者: silenttea 时间: 2022-8-6 22:43
回复 4# Batcher
太感谢了,之前没搜索对,没看到这个帖子
作者: silenttea 时间: 2022-8-6 23:00
回复 4# Batcher - @echo off&setlocal enabledelayedexpansion
- call:perm "a b c xy z"
- pause
-
- :perm <"c1 c2 ..."> // code by plp
- setlocal&set "s=%~1 "&if "!s: =!" == "" (echo %~2)else for %%b in (%~1)do call:perm "!s:%%b =!" "%~2 %%b"
复制代码
大佬,请问一下 “:perm <"c1 c2 ..."> // code by plp” 这行 <"c1 c2 ...">的作用或者意义是什么,实在是找不到相关解释,删除标签后那段,运行结果也没影响但速度变慢了很多
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |