BatchSkript für Schleife gesucht
Guten Abend,
ich versuche seit einiger Zeit eine Schleife via Batch zu erstellen, welche die folgende Aufgabe hat: Es sollen alle Kombinationen aus den beiden Zahlen 1 und 0 in einem File ausgegeben werden. Die Kombinationen aus den beiden Zahlen sollen immer 5-stellig sein...
Beispiel:
00000
00001
00011
00010
00100
11111
Kann mir hier jemand helfen?
Danke u. Gruß
I.
ich versuche seit einiger Zeit eine Schleife via Batch zu erstellen, welche die folgende Aufgabe hat: Es sollen alle Kombinationen aus den beiden Zahlen 1 und 0 in einem File ausgegeben werden. Die Kombinationen aus den beiden Zahlen sollen immer 5-stellig sein...
Beispiel:
00000
00001
00011
00010
00100
11111
Kann mir hier jemand helfen?
Danke u. Gruß
I.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 270867
Url: https://administrator.de/contentid/270867
Ausgedruckt am: 21.11.2024 um 18:11 Uhr
6 Kommentare
Neuester Kommentar
Hallo IceAge und bastla.
Sollte dahinter der Gedanke stecken, binäre Werte zu berechnen, sähe das etwa so aus:
Grüße
rubberman
Sollte dahinter der Gedanke stecken, binäre Werte zu berechnen, sähe das etwa so aus:
@echo off &setlocal EnableDelayedExpansion
for /l %%i in (0,1,31) do (
call :Dec2Bin %%i 5 bin
echo !bin!
)
pause
exit /b
:Dec2Bin byVal_dec byVal_length byRef_VarOut
setlocal EnableDelayedExpansion
set /a "dec = %~1, n = %~2"
set "strBin="
for /l %%i in (1,1,%n%) do (
set /a "x = dec & 1 , dec >>= 1"
set "strBin=!x!!strBin!"
)
endlocal &set "%~3=%strBin%"
exit /b
rubberman
Hallo rubberman!
Dann aber lieber gleich allgemein (und per Rekursion):
Grüße
bastla
[Edit] Abgeändert, sodass nicht nur Ziffern verwendet werden können - siehe Zeile 2 [/Edit]
Dann aber lieber gleich allgemein (und per Rekursion):
@echo off & setlocal
set "Zeichen=0 1"
set /a Anz=5
set "Datei=D:\Deine Datei.txt"
del "%Datei%" 2>nul
for %%z in (%Zeichen%) do call :ZeichenHinzu %%z 1 %%z
goto :eof
:ZeichenHinzu
set "Ergebnis=%3"
set /a Stelle=%2
if %Stelle%==%Anz% (
>>"%Datei%" echo %Ergebnis%
goto :eof
)
set /a Stelle+=1
for %%n in (%Zeichen%) do call :ZeichenHinzu %%n %Stelle% %Ergebnis%%%n
goto :eof
bastla
[Edit] Abgeändert, sodass nicht nur Ziffern verwendet werden können - siehe Zeile 2 [/Edit]
Hallo rubberman!
Grüße
bastla
Ich bin über 0 und 1 gestolpert und habe sofort binär gedacht
War auch meine erste Überlegung - aber da keine Konvertierung einzelner Werte gefragt schien, habe ich den kombinatorischen Ansatz gewählt (und etwas nachgebessert, weil ich meine Variante 1 letztlich doch zu "d" fand ) ...Grüße
bastla