badbatchcoder
Goto Top

Textdokument per Batch mit mehr als 2 Zeilen beschreiben

Hey,
ich habe letztens ein kleines Programm geschrieben, womit sich Dezimalzahlen von 0 bis vorerst 255 in Binärzahlen umwandeln lassen.
Ich würde jetzt gerne per Batch File ein Textdokument erstellen lassen, wo pro Zeile eine Zahl und die zugehörige Binärzahl geschrieben wird.

Mein erster Versuch sah folgendermaßen aus:
(Mir ist klar, dass man die Konvertierung in eine Binärzahl mit Sicherheit eleganter lösen kann ^^)
@echo off

set counter=0
set bin=00000000
set "col=>"  

:counter

echo %counter% %bin% %col%binary.txt

set "col=%col%>"  
set /a counter=%counter%+1
if %counter%==256 exit

:dec_to_bin
set counter2=%counter%

set /a b8=%counter2%/128
if %b8%==1 set /a counter2=%counter2%-128
set /a b7=%counter2%/64
if %b7%==1 set /a counter2=%counter2%-64
set /a b6=%counter2%/32
if %b6%==1 set /a counter2=%counter2%-32
set /a b5=%counter2%/16
if %b5%==1 set /a counter2=%counter2%-16
set /a b4=%counter2%/8
if %b4%==1 set /a counter2=%counter2%-8
set /a b3=%counter2%/4
if %b3%==1 set /a counter2=%counter2%-4
set /a b2=%counter2%/2
if %b2%==1 set /a counter2=%counter2%-2
set /a b1=%counter2%/1

set bin=%b8%%b7%%b6%%b5%%b4%%b3%%b2%%b1%

goto counter

Es wurden allerdings nur die ersten beiden Zeilen des Textdokuments beschrieben, das Ergebnis, sah also so aus:
0 00000000 
1 00000001 

Ich hoffe mir kann hier jemand helfen
LG

Content-Key: 665627

Url: https://administrator.de/contentid/665627

Printed on: April 20, 2024 at 03:04 o'clock

Member: Fabezz
Solution Fabezz Apr 11, 2021 updated at 19:20:45 (UTC)
Goto Top
Nabend
mach Mal deine col variable so:

...
set bin=00000000
set "col=>>"  

:counter

echo %counter% %bin% %col%binary.txt

...

Einmal bedeutet nur reinschreiben aber da du eine Art Endlosschleife hast soll es anfügen darum zweimal >>.

Viel Spaß
Member: BadBatchCoder
BadBatchCoder Apr 11, 2021 at 19:24:48 (UTC)
Goto Top
Funktioniert, danke!
Mein Fehler war dass ich dachte, dass die Anzahl der ">"-Zeichen für die Zeilenangabe steht