[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[数值计算] 【已完成】求助批处理如何输出两位字母的所有组合?

本帖最后由 silenttea 于 2022-8-6 22:43 编辑

我想将他们输入到一个文件上,代码如下,(不完全)
  1. set lenw=2
  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 "
  3. for /l %%i in (1,1,%lenw%) do (
  4. for /l %%j in (1,1,%%i) do (
  5. for %%k in (%word%) do (
  6. set "_%%k=%_%%k%%%k"
  7.                         ::本想用变量不断迭代一个个值,后来发现所需变量太多,方法不对
  8. )
复制代码
求助一种通用的任意长度的字母组合,谢谢(#^.^#)

回复 4# Batcher
  1. @echo off&setlocal enabledelayedexpansion
  2. call:perm "a b c xy z"
  3. pause
  4. :perm <"c1 c2 ..."> // code by plp
  5. 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 ...">的作用或者意义是什么,实在是找不到相关解释,删除标签后那段,运行结果也没影响但速度变慢了很多

TOP

回复 4# Batcher


    太感谢了,之前没搜索对,没看到这个帖子

TOP

回复 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
1

评分人数

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

笨办法,n个字母组合就用n个循环。

TOP

两个字母的组合:
  1. @echo off
  2. 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
  3. for %%i in (%letters%) do (
  4.     for %%j in (%letters%) do (
  5.         echo,%%i%%j
  6.     )
  7. )
  8. pause
复制代码

TOP

返回列表