
【已解決】BAT或VBS如何將七個位置進行全組合最后由 思想之翼 于 -11-18 11:04
上述代碼,將0123456這七個數據全組合,即第一位至第七位都選擇七個數據 0 1 2 3 4 5 6現在需要按位置進行全組合:比如有數據1230401(數字有重復)第一位可以選擇七個數據:1、2、3、0、4、0、1第一位如果選擇了1,那么第二位只能在余下的六個數據 2、3、0、4、0、1中選擇第一位如果選擇了1,第二位選擇了2,那么第三位只能在余下的五個數據 3、0、4、0、1中選擇......這樣將1230401按位置進行全組合,有7*6*5*4*3*2*1=5040種可能。現在如果文本中有數據:098766412345556570030每行數據都按位置進行全組合,分別得到一組5040個數據。將這3組數據合并寫入新建的文本,這樣的代碼如何寫?懇望得到幫助。nclick="copycode($('code0'));">復制代碼
- @echo off&setlocal enabledelayedexpansion
- for %%a in (0 1 2 3 4 5 6) do (
- for %%b in (0 1 2 3 4 5 6) do (
- for %%c in (0 1 2 3 4 5 6) do (
- for %%d in (0 1 2 3 4 5 6) do (
- for %%e in (0 1 2 3 4 5 6) do (
- for %%f in (0 1 2 3 4 5 6) do (
- for %%g in (0 1 2 3 4 5 6) do (
- set var=%%a%%b%%c%%d%%e%%f%%g
- if not defined !var! (set !var!=m & echo !var!)
- )
- )
- )
- )
- )
- )
- )
- pause>nul

