BAT批處理檔案中變數的排列組合

2021-06-21 09:40:15 字數 4026 閱讀 2969

set hanye=寒夜孤星,那麼變數中這四個字,任意兩個字排列,也可以自己和自己排列,有多少種排列呢?

bat指令碼:

@echo off

set hanye=寒 夜 孤 星

for %%i in (%hanye%) do for %%j in (%hanye%) do echo %%i%%j &set /a guxing+=1

echo %guxing%種排列方法

pause

效果圖:

set hanye=寒夜孤星,那麼變數中這四個字,每個字與其他字排列,兩位,有多少種排列呢?

bat指令碼:

@echo off

set hanye=寒 夜 孤 星

for %%i in (%hanye%) do for %%j in (%hanye%) do if "%%i" neq "%%j" echo %%i%%j &set /a guxing+=1

echo %guxing%種排列方法

pause

效果圖:

set hanye=寒夜孤星,那麼變數中這四個字,每個字與其他字組合,兩位,且不重複,有多少種組合呢?

bat指令碼:

@echo off

set hanye=寒 夜 孤 星

for %%i in (%hanye%) do for %%j in (%hanye%) do if "%%i" neq "%%j" if not defined %%j%%i set %%i%%j=hanyeguxing & echo %%i%%j &set /a guxing+=1

echo %guxing%種組合方法

pause

效果圖:

set hanye=寒夜孤星,那麼變數中這四個字,有多少種排列呢?

bat指令碼:

@echo off&setlocal enabledelayedexpansion

set han=寒夜孤星

:hanye

if defined han (

set num=!han:~,1!

if not defined ..!num! (

set /a ye+=1

set ..!num!=b

set "_!ye!=!han:~,1!"&set "han=!han:~1!"

goto hanye

) else (

set "han=!han:~1!"

goto hanye

))call:guxing

echo %xing%種排列方法

set hanye=寒夜孤星,那麼變數中這四個字,每個字與其他字排列,不限定位數,可以存在單個文字,有多少種排列呢?

bat指令碼:

@echo off&setlocal enabledelayedexpansion

set han=寒夜孤星

set m=0

set ye=abcdefghijklmnopqrstuvwxyz

:hanye

if "!han:~%m%,1!" neq "" (set s0=!s0! !han:~%m%,1! &set/a m+=1&goto :hanye)

set n=0

for %%i in (!s0!) do (

for %%j in (!n!) do (

set /a n+=1

set "gu1=!gu1!for %%!ye:~%%j,1! in (^!s%%j^!) do (set s!n!=^!s%%j:%%!ye:~%%j,1!=^!^&"

set "gu2=!gu2!%%!ye:~%%j,1!"

set "gu3=!gu3!)"

set xing1%%j=!gu1:~,-16!

set xing2%%j=!gu2!

set xing3%%j=!gu3!

))set n=0

:guxing

set gu1=!xing1%n%!

set gu2=!xing2%n%!

set gu3=!xing3%n%!

%gu1%

echo %gu2%

set /a num+=1

%gu3%

set/a n+=1

if !n! neq !m! goto guxing

if !n! == !m! echo %num%種排列方法 &pause

效果圖:

set hanye=寒夜孤星,那麼變數中這四個字,每個字與其他字組合,不限定位數,可以存在單個文字,且不重複,有多少種組合呢?

bat指令碼:

@echo off&setlocal enabledelayedexpansion

set han=寒 夜 孤 星

set n=1

for %%i in (%han%) do (

set /a i+=1 &echo %%i

set ye!i!=%%i

):hanye

set /a n+=1

if not defined ye%n% goto :guxing

for /f "tokens=1* delims==" %%i in ('set gu 2^>nul') do (

set /a x+=1

set gu!x!=%%j!ye%n%!

)set /a f=n-1

if not defined str!ye%n%! for /l %%i in (1,1,%f%) do (

set /a x+=1

set gu!x!=!ye%%i!!ye%n%!

)set /a str!ye%n%!+=1

goto :hanye

:guxing

for /f "tokens=1* delims==" %%i in ('set gu 2^>nul') do echo %%j

set /a xing=(1^

echo %xing%種組合方法

pause

效果圖:

**:批處理檔案的編寫29-變數的排列組合

bat批處理檔案

你在1.bat檔案裡寫上 echo 1 g 最終效果是 1.bat echo 1 g 即,bat檔案裡的每一行都會出現在命令列裡!如果不想顯示在命令列裡 1,要麼bat檔案裡,每一行前面都加上 表示這個命令不顯示在命令列裡 2,要麼在bat檔案開頭,寫echo off 下面的命令 都不會出現在命令列...

bat檔案(批處理檔案),批處理命令!!!

批處理 batch 也稱為批處理指令碼。顧名思義,批處理就是對某物件進行批量的處理,通常被認為是一種簡化的指令碼語言,它應用於dos和windows系統中。批處理是由dos或者windows系統內嵌的命令直譯器 通常是command.com或者cmd.exe 解釋執行。類似於unix系統中的shel...

批處理檔案 bat 編寫

下面記錄一下.bat檔案編寫格式 echo off start echo 請輸入數字選擇下一步操作 echo 1 ip設定為會議室 echo 2 設定為dhcp自動獲取ip set p var if var 1 goto ip1 if var 2 goto ipdhcp ip1 clsnetsh i...