mathe172
Goto Top

Zwei verschachtelte for-Schleifen

Hallo zusammen!

Ich leider gleich einen Berg Probleme.

Hier der Inhalt meiner Dateien:

Code.bat:
@echo on & setlocal enabledelayedexpansion
pause
for /F "delims=" %%I in (split.txt) do (  
	if %%I==a (
		for /f "skip=0 delims=" %%J in (alphabet.txt) do (  
			@echo %%J>>ctest.txt
			break
		)
		pause
	)
)
pause
Die Zeilen 4 und 5 würde ich wenn alles funktioniert für alle anderen Buchstaben und Zeichen wiederholen.
Also etwa:
if %%I==a (
	for /f "skip=0 delims=" %%J in (alphabet.txt) do (  
if %%I==b (
	for /f "skip=1 delims=" %%J in (alphabet.txt) do (  

if %%I==c (
	for /f "skip=2 delims=" %%J in (alphabet.txt) do (  

		.
		.
		.

if %%I==8 (
	for /f "skip=35 delims=" %%J in (alphabet.txt) do (  
if %%I==9 (
	for /f "skip=36 delims=" %%J in (alphabet.txt) do (  
Damit soll erreicht werden, dass jedes Zeichen durch ein bestimmtes anderes Zeichen ersetzt wird.
(z.B. a durch das erste in der Datei Alphabet.txt b durch das zweite ...)

Die Datei Alphabet.txt enthält:
    • die Grossbuchstaben von A-Z
    • die Zahlen von 0-9
    • das Zeichen _

Pro Zeile ist immer ein Zeichen, jedes Zeichen kommt nur einmal vor.
Die Reihenfolge ist dabei verschieden.

Die Datei split.txt enthält dieselben Zeichen jedoch nicht immer alle und in nicht definierter Anzahl.
Sie wird von der Datei Split.bat erzeugt.

Split.bat:
@echo on & setlocal enabledelayedexpansion
for /F "delims=" %%I in (ktext.txt) do set text=%%I  
set /a stellen_split=0
:loop_split
set "char_split=!text:~%stellen_split%,1!"  
if "%char_split%"=="" goto :weiter_split  
echo "%char_split%">>split2.txt  
set /a stellen_split+=1
goto :loop_split
:weiter_split
if exist "split.txt" del "split.txt"  
for /F "delims=" %%I in (split2.txt) do @echo %%~I>>"split.txt"  
del "split2.txt"  
pause

Die Datei ktext.txt enthält einen einzeiligen Text aus den vorhin schon genannten Zeichen.
Die Datei Split.bat soll nun jedes Zeichen in eine neue Zeile schreiben, womit ich schon das erste Problem hätte. Alles funktioniert zwar wunderbar, jedoch musste ich die Leerzeichen in ktext.txt durch "_" ersetzen, da die Datei sonst immer in split.txt schrieb:
"ECHO ist eingeschaltet (ON).".

Das zweite Problem ist in der Datei Code.bat. Sie schreibt leider nichts in die Datei ctest.txt, auch wenn das Zeichen in split.txt ein A ist.
Sie kapiert aber dass ein a in der split.bat steht denn sie wartet nach jedem a auf einen Tastendruck. Leider werde ich aus dem Text, der beim ausführen von Code.bat ausgegeben wird, nicht so schlau.

Der Text wäre:
C:\Bat >pause
Drücken sie eine beliebige Taste...

C:\Bat >for /F "delims=" %I in (split.txt) do (if %I == a (  
for /F "skip=0 delims=" %J in (alphabet.txt) do (  

 break
)
 pause
) )

C:\Bat >(if m == a (
for /F "skip=0 delims=" %J in (alphabet.txt) do (  

 break
)
 pause
) )

C:\Bat >(if a == a (
for /F "skip=0 delims=" %J in (alphabet.txt) do (  

 break
)
 pause
) )
" delims="" ist syntaktisch an dieser Stelle nicht verarbeitbar.  
Drücken sie eine beliebige Taste...

Was ich nicht verstehe ist, warum der Befehl "@echo %%J>>ctest.txt" weder angezeigt noch ausgeführt wird. Das andere was mich wundert ist wieso " " delims="" ist syntaktisch an dieser Stelle nicht verarbeitbar. " nur jeweils beim letzen mal vor dem pause-Befehl angezeigt wird.

LG

Mathe172

Content-ID: 145195

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

Ausgedruckt am: 21.11.2024 um 16:11 Uhr

bastla
bastla 19.06.2010 um 18:37:01 Uhr
Goto Top
Hallo mathe172 und willkommen im Forum!
warum der Befehl "@echo %%J>>ctest.txt" weder angezeigt noch ausgeführt wird.
Zumindest Teil 1 der Frage ist leicht zu beantworten: Ein "@" vor dem Befehl verhindert, dass dieser angezeigt wird (hast Du Dich noch nie gefragt, warum das zumeist vor dem "echo off" am Anfang eines Batches verwendet wird?) ...

Zu "ECHO ist eingeschaltet (ON).":
Ändere die Zeile 12 auf
for /F "delims=" %%I in (split2.txt) do @echo\%%~I>>"split.txt" 

Schwieriger wird schon, was Du mit der "code.bat" vorhast - um tatsächlich für "a" das 1. und für "f" das 6. Zeichen aus der "alphabet.txt" zu holen, wird die Schleifenkonstruktion so nicht funktionieren, da zwar immer an der richtigen Stelle angefangen würde (außer für das "a", da "skip=0" den zitierten Syntaxfehler liefert), aber die Schleife läuft ja immer bis zur letzten Zeile der "alphabet.txt" durch ...

Abgesehen davon, dass es einfacher wäre, alle Zeichen der "alphabet.txt" in eine Variable %alphabet% zu schreiben und dann nur noch einen 1 Zeichen langen Teilstring daraus (ab der jeweils richtigen Position) zu verwenden, also etwa:
for /F "delims=" %%I in (split.txt) do (  
    if %%I==a echo %alphabet:~0,1%
    if %%I==b echo %alphabet:~1,1%
    if %%I==c echo %alphabet:~2,1%
    if %%I==d echo %alphabet:~3,1%
    if %%I==e echo %alphabet:~4,1%
    if %%I==f echo %alphabet:~5,1%

    if %%I==_ echo %alphabet:~36,1%
)>>ctest.txt
pause
goto :eof
sind das ja alles nur technische Fragen zu Deinem bisherigen Ansatz (der vermutich noch Optimierungspotenzial hat); was willst Du denn eigentlich im Endeffekt erreichen (bzw wie sähe der "Vorher-Nachher"-Vergleich aus)?

Grüße
bastla
mathe172
mathe172 19.06.2010 um 18:55:59 Uhr
Goto Top
Danke schonmal für die Antwort!

Das mit der alphabet-variable und dem @echo\%%~I>>"split.txt" werd ich gleich mal ausprobieren...

Und zu deiner Frage was das ganze soll, ich will mithilfe von einstellbaaren Zahlen einen Schlüssel und die Buchstabenreihenfolge im Alphabet.txt(oder halt in der Variable) errechnen. Mit diesem Alphabet soll er nun einen Text verschlüsseln/entschlüsseln.

Zu deinem Beitrag hätte ich auch noch zwei Fragen. Ist das mit dem @echo\.. Befehl eine Art Parameter der das Schreiben von Leerzeichen in Datein ermöglicht? Und das zweite: Kann man das mit dem
if %%I==_ echo %alphabet:~36,1%
)>>ctest.txt
pause
goto :eof

Geht das so dass man das >>ctest.txt nach der Klammer schreiben kann?


Mathe172
bastla
bastla 19.06.2010 um 19:02:58 Uhr
Goto Top
Hallo mathe172!
Ist das mit dem @echo\.. Befehl eine Art Parameter der das Schreiben von Leerzeichen in Datein ermöglicht?
Neben dem "klassischen"
echo.
können auch einige weitere Zeichen (zu denen neben "\" etwa auch "," oder "+" gehören) dazu verwendet werden, eine Leerzeile zu erzeugen oder eben eine Zeile mit einem oder mehreren Leerzeichen ...
Geht das so dass man das >>ctest.txt nach der Klammer schreiben kann?
Ich konnte das vorhin face-wink - und eigentlich egal, was ich jetzt antworte: entweder Du glaubst mir das (das hättest Du ja schon tun können), oder, besser, Du testest es einfach ...

Und zu deiner Frage was das ganze soll, ich will mithilfe von einstellbaaren Zahlen einen Schlüssel und die Buchstabenreihenfolge im Alphabet.txt(oder halt in der Variable) errechnen. Mit diesem Alphabet soll er nun einen Text verschlüsseln/entschlüsseln.
Eigentlich hatte ich (auch) gemeint, ob das gewünschte Ergebnis tatsächlich eine Datei mit zeilenweise angeordneten Zeichen sein soll ...

Grüße
bastla
mathe172
mathe172 19.06.2010 um 20:15:23 Uhr
Goto Top
Hallo bastla!

Zu deiner Frage: Ja am Schluss soll eine Datei mit einem Zeichen pro Zeile rauskommen. Diese werde ich dann versuchen mit einer for-Schleife in eine Zeile zu bringen. Was mir grad in den Sinn kommt ist, man könnte alle Zeichen in einer Variable die ständig ergänzt wird speichern und dann alles auf einmal in eine Datei schreben...Jetzt versuch ich erstmal den Rest zu schaffen. Wenn du eine bessere Idee hättest, würde ich mich natürlich freuen.

Mathe 172
bastla
bastla 19.06.2010 um 21:08:49 Uhr
Goto Top
Hallo mathe172!

Du willst also eigentlich aus einer Zeile (in der Datei "ktext.txt") eine andere (codierte) Zeile erzeugen und in "ctest.txt" schreiben, wobei die Zuordnung der Zeichen aus der Datei "alphabet.txt" gelesen werden soll - wenn ja, dann wären die "split.bat" und die "split.txt" entbehrlich, und ein an Deinen Entwurf angelehnter Ansatz könnte so aussehen:
@echo off & setlocal
set "CodeFile=ctest.txt"  
set /p Text=<ktext.txt
set /p Alpha=<alphabet.txt
set "Char=abcdefghijklmnopqrstuvwxyz0123456789 "  

  echo %Text%
  echo %Alpha%

set "Code="  
:Loop
if "%Text%"=="" goto :Done  
set "Char=%Text:~,1%"  
    echo\%Char%
if "%Char%"=="a" set "Code=%Code%%Alpha:~0,1%"  
if "%Char%"=="b" set "Code=%Code%%Alpha:~1,1%"  
if "%Char%"=="c" set "Code=%Code%%Alpha:~2,1%"  
if "%Char%"=="d" set "Code=%Code%%Alpha:~3,1%"  
if "%Char%"=="e" set "Code=%Code%%Alpha:~4,1%"  
if "%Char%"=="f" set "Code=%Code%%Alpha:~5,1%"  
...
if "%Char%"==" " set "Code=%Code%%Alpha:~36,1%"  
set "Text=%Text:~1%"  
  echo\%Text%
  echo\%Code%
goto :Loop

:Done
>"%CodeFile%" echo\%Code%  
Die eingerückten "echo"-Zeilen sind für das Debuggen/Nachvollziehen gedacht.

Ich habe die einzelnen Zeichen der "alphabet.txt" der Einfachheit halber in einer einzigen Zeile zusammengefasst - der Dateiinhalt sähe dann zB so aus:
2JOCXSAT3U5VN1FMGQKZR0P68WD7Y9HIE 4BL

Soferne die "alphabet.txt" auch so aussehen dürfte (ich habe sie in diesem Format "match.txt" genannt):
a=2
b=J
c=O
d=C
e=X
f=S
g=A
h=T
i=3
j=U
k=5
l=V
m=N
n=1
o=F
p=M
q=G
r=Q
s=K
t=Z
u=R
v=0
w=P
x=6
y=8
z=W
0=D
1=7
2=Y
3=9
4=H
5=I
6=E
7=_
8=4
9=B
 =L
fände ich
@echo off & setlocal
set "CodeFile=ctest.txt"  
set /p Text=<ktext.txt
set "Match=match.txt"  

  echo %Text%

set "Code="  
:Loop
if "%Text%"=="" goto :Done  
set "Char=%Text:~,1%"  
for /f "tokens=1-2 delims==" %%i in ('findstr "%Char%=" "%Match%"') do set "CodeChar=%%j"  
if not defined CodeChar (echo "%Char%" nicht gefunden! & goto :eof)  
set "Code=%Code%%CodeChar%"  
set "Text=%Text:~1%"  
  echo\%Text%
  echo\%Code%
goto :Loop

:Done
>"%CodeFile%" echo\%Code%  
etwas eleganter ...

Grüße
bastla
mathe172
mathe172 20.06.2010 um 11:53:53 Uhr
Goto Top
Hallo Bastla!

Die Idee mit der modifizierten Alphabetdatei finde ich genial! Ich werd gleich mal versuchen die Datei die alphabet.txt erstellt zu verändern.
Zu deinem Vorschlag: Könntest du mir bitte die Funktionsweise von den "" beim set-Befehl, dem set /p Text=<ktext.txt und dem findstr erklären?

Mathe172
bastla
bastla 20.06.2010 um 12:06:41 Uhr
Goto Top
Hallo mathe172!

Könntest du mir bitte die Funktionsweise
von den "" beim set-Befehl,
Durch das Setzen dieser Anführungszeichen wird zB vernindert, dass unbeabsichtigt ein oder mehrere Leerzeichen am Ende der Zeile mit in den Variableninhalt aufgenommen werden - muss daher nicht unbedingt sein, schadet aber idR nicht ...
dem set /p Text=<ktext.txt und
Einfachste Möglichkeit, die erste Zeile einer Datei in eine Variable einzulesen - "set /p" erwartet eine (per Enter abgeschlossene) Eingabe, die in diesem Fall per Umleitung (deshalb das "<") eben nicht aus der Konsole (Tastatur), sondern aus der Datei kommt (und den Teil der Datei bis zum ersten Enter = erste Zeilenschaltung und im Ergebnis daher erste Zeile ergibt).
dem findstr erklären?
"findstr" sucht in der angegebenen Datei nach allen Vorkommen des Suchstrings und gibt jede Zeile, die diesen String enthält, als Ergebnis zurück - deshalb muss zum Einen dafür gesorgt werden, dass nur die Zeichen auf der linken Seite gefunden werden (daher wird nicht nach "a", sondern nach "a=" gesucht - Alternative wäre die Vorgabe, nur am Zeilenanfang zu suchen), zum Anderen muss die zurückgegebene Zeile noch zerlegt werden (mit "=" als Trennzeichen) - darum die "herumgewickelte" Schleife ...

In der Variablen %CodeChar% landet alles, was in der letzten Zeile, welche "gesuchtes Zeichen=" enthält, nach dem "=" steht - bei korrekter "match.txt" ist das dann genau eine Zeile.

Grüße
bastla
mathe172
mathe172 20.06.2010 um 12:25:08 Uhr
Goto Top
Hallo Bastla!

Mit der umschreibung komm ich soweit gut zurecht, ich habe allerdings ein seltsames Problem.
Hier funktioniert das erhöhen um 1 ohne Probleme:
@echo off & setlocal enabledelayedexpansion
set /a zeilen=0
for /F "delims=" %%I in (ktext.txt) do (  
	if not %%I=="" set /a zeilen+=1  
)

Aber in dieser Datei irgendwie nicht:
@echo on & setlocal enabledelayedexpansion
...
set /a zeile_nr=1
pause
for /F "delims=" %%I in (alphabet.txt)do (  
if %zeile_nr%==1 @echo "A=%%I">>alphabet2.txt  
if %zeile_nr%==2 @echo "B=%%I">>alphabet2.txt  
...
if %zeile_nr%==37 @echo "9=%%I">>alphabet2.txt  
set /a zeile_nr+=1
echo %zeile_nr%
pause
)
del "alphabet.txt"  
for /F "delims=" %%I in (alphabet2.txt) do @echo\%%~I>>"alphabet.txt"  
del "alphabet2.txt"  
pause

Weisst du wieso?

Mathe172

Edit: Problem gelöst, hab %zeile_nr% in
if %zeile_nr%==1 @echo "A=%%I">>alphabet2.txt  
durch !zeile_nr! ersetzt.
Weiss aber immer nocht nicht warum es beim anderen funktioniert ??
mathe172
mathe172 20.06.2010 um 15:29:46 Uhr
Goto Top
Hallo bastla

nachdem ich jetzt alles umgeschrieben habe, funktioniert alles wunderbar! Bis auf etwas (ist bei mir leider immer so dass etwas nicht tut...):
der Befehl
'findstr "%Char%=" "%alphabet%"'  
funktioniert zwar, jedoch findet er für %char%=" " (also leerzeichen) alles und setzt dann das letzte was er gefunden hat ein.
Gibt es irgendeinen parameter mit dem ich das umgehen kann?

Grüsse

Mathe172
bastla
bastla 20.06.2010 um 15:45:23 Uhr
Goto Top
Hallo mathe172!

Sorry - da das Leerzeichen bei meinem Ansatz in der letzten Zeile der "match.txt"/"alphabet.txt" steht und daher trotzdem eine richtige Zuordnung erfolgt, hatte ich nicht darauf geachtet ...

Mit einem zusätzlichen "/c:" wird aber dann auch tatsächlich genau gesucht, daher:
for /f "tokens=1-2 delims==" %%i in ('findstr /c:"%Char%=" "%Match%"') do set "CodeChar=%%j"
Grüße
bastla
mathe172
mathe172 20.06.2010 um 19:06:58 Uhr
Goto Top
Hallo Bastla!

Danke für die viel Hilfe bei meinem Programm. Falls es dich interresiert, hier wären noch die Endergebnisse:

Der zu (de)codierende Text muss in ktext.txt stehen. Das Ergebnis ist dann ebenfalls in ktext.txt, den in Codierung.bat genannte Schlüssel ist das einzige was man aufschreiben muss. Die Paare kann man vergessen.

Codierung.bat:
@echo off & setlocal enabledelayedexpansion
:paare_falsch
set /p paare="Wieviele Paare soll der Schluessel haben?(1-9) "  
set /a paare=%paare%
if %paare%==1 goto paare_ok
if %paare%==2 goto paare_ok
if %paare%==3 goto paare_ok
if %paare%==4 goto paare_ok
if %paare%==5 goto paare_ok
if %paare%==6 goto paare_ok
if %paare%==7 goto paare_ok
if %paare%==8 goto paare_ok
if %paare%==9 goto paare_ok
goto paare_falsch
:paare_ok
set /a paar_nr=0
:naechstes_paar
set /a paar_nr+=1
set Schluessel_Teil_2=%Schluessel_Teil_2%%Zeichen_Teil_n%
:a_falsch
set /p a="Bitte erste Zahl des %paar_nr%. Paares eingeben(1-63): "  
if %a%==1 goto a_ok
if %a%==2 goto a_ok
if %a%==3 goto a_ok
if %a%==4 goto a_ok
if %a%==5 goto a_ok
if %a%==6 goto a_ok
if %a%==7 goto a_ok
if %a%==8 goto a_ok
if %a%==9 goto a_ok
if %a%==10 goto a_ok
if %a%==11 goto a_ok
if %a%==12 goto a_ok
if %a%==13 goto a_ok
if %a%==14 goto a_ok
if %a%==15 goto a_ok
if %a%==16 goto a_ok
if %a%==17 goto a_ok
if %a%==18 goto a_ok
if %a%==19 goto a_ok
if %a%==20 goto a_ok
if %a%==21 goto a_ok
if %a%==22 goto a_ok
if %a%==23 goto a_ok
if %a%==24 goto a_ok
if %a%==25 goto a_ok
if %a%==26 goto a_ok
if %a%==27 goto a_ok
if %a%==28 goto a_ok
if %a%==29 goto a_ok
if %a%==30 goto a_ok
if %a%==31 goto a_ok
if %a%==32 goto a_ok
if %a%==33 goto a_ok
if %a%==34 goto a_ok
if %a%==35 goto a_ok
if %a%==36 goto a_ok
if %a%==37 goto a_ok
if %a%==38 goto a_ok
if %a%==39 goto a_ok
if %a%==40 goto a_ok
if %a%==41 goto a_ok
if %a%==42 goto a_ok
if %a%==43 goto a_ok
if %a%==44 goto a_ok
if %a%==45 goto a_ok
if %a%==46 goto a_ok
if %a%==47 goto a_ok
if %a%==48 goto a_ok
if %a%==49 goto a_ok
if %a%==50 goto a_ok
if %a%==51 goto a_ok
if %a%==52 goto a_ok
if %a%==53 goto a_ok
if %a%==54 goto a_ok
if %a%==55 goto a_ok
if %a%==56 goto a_ok
if %a%==57 goto a_ok
if %a%==58 goto a_ok
if %a%==59 goto a_ok
if %a%==60 goto a_ok
if %a%==61 goto a_ok
if %a%==62 goto a_ok
if %a%==63 goto a_ok
goto a_falsch
:a_ok
set /a a=%a%
:b_falsch
set /p b="Bitte zweite Zahl des %paar_nr%. Paares eingeben(1-63;ungleich %a%): "  
if %b%==%a% goto b_falsch
if %b%==1 goto b_ok
if %b%==2 goto b_ok
if %b%==3 goto b_ok
if %b%==4 goto b_ok
if %b%==5 goto b_ok
if %b%==6 goto b_ok
if %b%==7 goto b_ok
if %b%==8 goto b_ok
if %b%==9 goto b_ok
if %b%==10 goto b_ok
if %b%==11 goto b_ok
if %b%==12 goto b_ok
if %b%==13 goto b_ok
if %b%==14 goto b_ok
if %b%==15 goto b_ok
if %b%==16 goto b_ok
if %b%==17 goto b_ok
if %b%==18 goto b_ok
if %b%==19 goto b_ok
if %b%==20 goto b_ok
if %b%==21 goto b_ok
if %b%==22 goto b_ok
if %b%==23 goto b_ok
if %b%==24 goto b_ok
if %b%==25 goto b_ok
if %b%==26 goto b_ok
if %b%==27 goto b_ok
if %b%==28 goto b_ok
if %b%==29 goto b_ok
if %b%==30 goto b_ok
if %b%==31 goto b_ok
if %b%==32 goto b_ok
if %b%==33 goto b_ok
if %b%==34 goto b_ok
if %b%==35 goto b_ok
if %b%==36 goto b_ok
if %b%==37 goto b_ok
if %b%==38 goto b_ok
if %b%==39 goto b_ok
if %b%==40 goto b_ok
if %b%==41 goto b_ok
if %b%==42 goto b_ok
if %b%==43 goto b_ok
if %b%==44 goto b_ok
if %b%==45 goto b_ok
if %b%==46 goto b_ok
if %b%==47 goto b_ok
if %b%==48 goto b_ok
if %b%==49 goto b_ok
if %b%==50 goto b_ok
if %b%==51 goto b_ok
if %b%==52 goto b_ok
if %b%==53 goto b_ok
if %b%==54 goto b_ok
if %b%==55 goto b_ok
if %b%==56 goto b_ok
if %b%==57 goto b_ok
if %b%==58 goto b_ok
if %b%==59 goto b_ok
if %b%==60 goto b_ok
if %b%==61 goto b_ok
if %b%==62 goto b_ok
if %b%==63 goto b_ok
goto b_falsch
:b_ok
set /a b=%b%
set  /a Teil_n=(%a%-1)*63+%b%
set /a Zeichen_Teil_n=0
:Loop
set "Char=!Teil_n:~%Zeichen_Teil_n%,1!"  
if "%Char%"=="" goto :Weiter  
set /a Zeichen_Teil_n+=1
goto :Loop
:Weiter
set Schluessel_Teil_1=%Schluessel_Teil_1%%Teil_n%

if not %paar_nr%==%paare% goto :naechstes_paar
set /a paare+=-1
set Schluessel=%Schluessel_Teil_1%%Schluessel_Teil_2%%paare%
echo Schluessel:%schluessel%


:Loop_schluessel
set "Char_key=!Schluessel:~%stellen%,1!"  
if "%Char_key%"=="" goto :Weiter_schluessel  
set /a stellen+=1
goto :Loop_schluessel
:Weiter_schluessel
set /a paare_schluessel=%schluessel:~-1,1%
set /a nr_paar_n=0
set /a verbraucht=0
if 0==%paare_schluessel% goto letztes_paar
set /a ort_paar_n=%stellen%-%paare_schluessel%-1
set /a nr_paar_n=1
:naechstes_paar_schluessel
set /a stellen_paar_n=!schluessel:~%ort_paar_n%,1!
set paar_n=!schluessel:~%verbraucht%,%stellen_paar_n%!
set /a a=%paar_n%/63+1
set /a b=%paar_n%-63*(%a%-1)

if exist "alphabet.txt" del "alphabet.txt"  
if not %a% lss %b% goto a_groesser_b

set /a Abbruch_1_1=%b%-%a%+1
set /a Abbruch_1_2=%b%-%a%
set /a Abbruch_1_3=%b%

set /a zeichen_alpha=%b%-1
:abschnitt_1_1 
@echo "%zeichen_alpha%">>alphabet.txt  
if %zeichen_alpha%==%Abbruch_1_1% goto weiter_1_1
set /a zeichen_alpha=%zeichen_alpha%-1
goto abschnitt_1_1

:weiter_1_1
set /a zeichen_alpha=1
:abschnitt_1_2
@echo "%zeichen_alpha%">>alphabet.txt  
if %zeichen_alpha%==%Abbruch_1_2% goto weiter_1_2
set /a zeichen_alpha=%zeichen_alpha%+1
goto abschnitt_1_2

:weiter_1_2
set /a zeichen_alpha=63
:abschnitt_1_3
@echo "%zeichen_alpha%">>alphabet.txt  
if %zeichen_alpha%==%Abbruch_1_3% goto weiter_1_3
set /a zeichen_alpha=%zeichen_alpha%-1
goto abschnitt_1_3

:a_groesser_b
set /a Abbruch_2_1=63
set /a Abbruch_2_2=1
set /a Abbruch_2_3=63-%b%

set /a zeichen_alpha=64-%b%
:abschnitt_2_1 
@echo "%zeichen_alpha%">>alphabet.txt  
if %zeichen_alpha%==%Abbruch_2_1% goto weiter_2_1
set /a zeichen_alpha=%zeichen_alpha%+1
goto abschnitt_2_1

:weiter_2_1
set /a zeichen_alpha=%a%-%b%
:abschnitt_2_2
@echo "%zeichen_alpha%">>alphabet.txt  
if %zeichen_alpha%==%Abbruch_2_2% goto weiter_2_2
set /a zeichen_alpha=%zeichen_alpha%-1
goto abschnitt_2_2

:weiter_2_2
set /a zeichen_alpha=%a%-%b%+1
:abschnitt_2_3
@echo "%zeichen_alpha%">>alphabet.txt  
if %zeichen_alpha%==%Abbruch_2_3% goto weiter_2_3
set /a zeichen_alpha=%zeichen_alpha%+1
goto abschnitt_2_3

:weiter_1_3
:weiter_2_3

if exist "alphabet2.txt" del "alphabet2.txt"  
for /F "delims=" %%I in (alphabet.txt) do @echo %%~I>>"alphabet2.txt"  
del "alphabet.txt"  
for /F "delims=" %%I in (alphabet2.txt) do (  
if %%I==1 @echo "A">>alphabet.txt  
if %%I==2 @echo "B">>alphabet.txt  
if %%I==3 @echo "C">>alphabet.txt  
if %%I==4 @echo "D">>alphabet.txt  
if %%I==5 @echo "E">>alphabet.txt  
if %%I==6 @echo "F">>alphabet.txt  
if %%I==7 @echo "G">>alphabet.txt  
if %%I==8 @echo "H">>alphabet.txt  
if %%I==9 @echo "I">>alphabet.txt  
if %%I==10 @echo "J">>alphabet.txt  
if %%I==11 @echo "K">>alphabet.txt  
if %%I==12 @echo "L">>alphabet.txt  
if %%I==13 @echo "M">>alphabet.txt  
if %%I==14 @echo "N">>alphabet.txt  
if %%I==15 @echo "O">>alphabet.txt  
if %%I==16 @echo "P">>alphabet.txt  
if %%I==17 @echo "Q">>alphabet.txt  
if %%I==18 @echo "R">>alphabet.txt  
if %%I==19 @echo "S">>alphabet.txt  
if %%I==20 @echo "T">>alphabet.txt  
if %%I==21 @echo "U">>alphabet.txt  
if %%I==22 @echo "V">>alphabet.txt  
if %%I==23 @echo "W">>alphabet.txt  
if %%I==24 @echo "X">>alphabet.txt  
if %%I==25 @echo "Y">>alphabet.txt  
if %%I==26 @echo "Z">>alphabet.txt  
if %%I==27 @echo " ">>alphabet.txt  
if %%I==28 @echo "a">>alphabet.txt  
if %%I==29 @echo "b">>alphabet.txt  
if %%I==30 @echo "c">>alphabet.txt  
if %%I==31 @echo "d">>alphabet.txt  
if %%I==32 @echo "e">>alphabet.txt  
if %%I==33 @echo "f">>alphabet.txt  
if %%I==34 @echo "g">>alphabet.txt  
if %%I==35 @echo "h">>alphabet.txt  
if %%I==36 @echo "i">>alphabet.txt  
if %%I==37 @echo "j">>alphabet.txt  
if %%I==38 @echo "k">>alphabet.txt  
if %%I==39 @echo "l">>alphabet.txt  
if %%I==40 @echo "m">>alphabet.txt  
if %%I==41 @echo "n">>alphabet.txt  
if %%I==42 @echo "o">>alphabet.txt  
if %%I==43 @echo "p">>alphabet.txt  
if %%I==44 @echo "q">>alphabet.txt  
if %%I==45 @echo "r">>alphabet.txt  
if %%I==46 @echo "s">>alphabet.txt  
if %%I==47 @echo "t">>alphabet.txt  
if %%I==48 @echo "u">>alphabet.txt  
if %%I==49 @echo "v">>alphabet.txt  
if %%I==50 @echo "w">>alphabet.txt  
if %%I==51 @echo "x">>alphabet.txt  
if %%I==52 @echo "y">>alphabet.txt  
if %%I==53 @echo "z">>alphabet.txt  
if %%I==54 @echo "0">>alphabet.txt  
if %%I==55 @echo "1">>alphabet.txt  
if %%I==56 @echo "2">>alphabet.txt  
if %%I==57 @echo "3">>alphabet.txt  
if %%I==58 @echo "4">>alphabet.txt  
if %%I==59 @echo "5">>alphabet.txt  
if %%I==60 @echo "6">>alphabet.txt  
if %%I==61 @echo "7">>alphabet.txt  
if %%I==62 @echo "8">>alphabet.txt  
if %%I==63 @echo "9">>alphabet.txt  
)
if exist "alphabet2.txt" del "alphabet2.txt"  
for /F "delims=" %%I in (alphabet.txt) do @echo\%%~I>>"alphabet2.txt"  
del "alphabet.txt"  
ren "alphabet2.txt" "alphabet.txt"  
set /a zeile_nr=1
for /F "delims=" %%I in (alphabet.txt)do (  
if !zeile_nr!==1 @echo "A=%%I">>alphabet2.txt  
if !zeile_nr!==2 @echo "B=%%I">>alphabet2.txt  
if !zeile_nr!==3 @echo "C=%%I">>alphabet2.txt  
if !zeile_nr!==4 @echo "D=%%I">>alphabet2.txt  
if !zeile_nr!==5 @echo "E=%%I">>alphabet2.txt  
if !zeile_nr!==6 @echo "F=%%I">>alphabet2.txt  
if !zeile_nr!==7 @echo "G=%%I">>alphabet2.txt  
if !zeile_nr!==8 @echo "H=%%I">>alphabet2.txt  
if !zeile_nr!==9 @echo "I=%%I">>alphabet2.txt  
if !zeile_nr!==10 @echo "J=%%I">>alphabet2.txt  
if !zeile_nr!==11 @echo "K=%%I">>alphabet2.txt  
if !zeile_nr!==12 @echo "L=%%I">>alphabet2.txt  
if !zeile_nr!==13 @echo "M=%%I">>alphabet2.txt  
if !zeile_nr!==14 @echo "N=%%I">>alphabet2.txt  
if !zeile_nr!==15 @echo "O=%%I">>alphabet2.txt  
if !zeile_nr!==16 @echo "P=%%I">>alphabet2.txt  
if !zeile_nr!==17 @echo "Q=%%I">>alphabet2.txt  
if !zeile_nr!==18 @echo "R=%%I">>alphabet2.txt  
if !zeile_nr!==19 @echo "S=%%I">>alphabet2.txt  
if !zeile_nr!==20 @echo "T=%%I">>alphabet2.txt  
if !zeile_nr!==21 @echo "U=%%I">>alphabet2.txt  
if !zeile_nr!==22 @echo "V=%%I">>alphabet2.txt  
if !zeile_nr!==23 @echo "W=%%I">>alphabet2.txt  
if !zeile_nr!==24 @echo "X=%%I">>alphabet2.txt  
if !zeile_nr!==25 @echo "Y=%%I">>alphabet2.txt  
if !zeile_nr!==26 @echo "Z=%%I">>alphabet2.txt  
if !zeile_nr!==27 @echo " =%%I">>alphabet2.txt  
if !zeile_nr!==28 @echo "a=%%I">>alphabet2.txt  
if !zeile_nr!==29 @echo "b=%%I">>alphabet2.txt  
if !zeile_nr!==30 @echo "c=%%I">>alphabet2.txt  
if !zeile_nr!==31 @echo "d=%%I">>alphabet2.txt  
if !zeile_nr!==32 @echo "e=%%I">>alphabet2.txt  
if !zeile_nr!==33 @echo "f=%%I">>alphabet2.txt  
if !zeile_nr!==34 @echo "g=%%I">>alphabet2.txt  
if !zeile_nr!==35 @echo "h=%%I">>alphabet2.txt  
if !zeile_nr!==36 @echo "i=%%I">>alphabet2.txt  
if !zeile_nr!==37 @echo "j=%%I">>alphabet2.txt  
if !zeile_nr!==38 @echo "k=%%I">>alphabet2.txt  
if !zeile_nr!==39 @echo "l=%%I">>alphabet2.txt  
if !zeile_nr!==40 @echo "m=%%I">>alphabet2.txt  
if !zeile_nr!==41 @echo "n=%%I">>alphabet2.txt  
if !zeile_nr!==42 @echo "o=%%I">>alphabet2.txt  
if !zeile_nr!==43 @echo "p=%%I">>alphabet2.txt  
if !zeile_nr!==44 @echo "q=%%I">>alphabet2.txt  
if !zeile_nr!==45 @echo "r=%%I">>alphabet2.txt  
if !zeile_nr!==46 @echo "s=%%I">>alphabet2.txt  
if !zeile_nr!==47 @echo "t=%%I">>alphabet2.txt  
if !zeile_nr!==48 @echo "u=%%I">>alphabet2.txt  
if !zeile_nr!==49 @echo "v=%%I">>alphabet2.txt  
if !zeile_nr!==50 @echo "w=%%I">>alphabet2.txt  
if !zeile_nr!==51 @echo "x=%%I">>alphabet2.txt  
if !zeile_nr!==52 @echo "y=%%I">>alphabet2.txt  
if !zeile_nr!==53 @echo "z=%%I">>alphabet2.txt  
if !zeile_nr!==54 @echo "0=%%I">>alphabet2.txt  
if !zeile_nr!==55 @echo "1=%%I">>alphabet2.txt  
if !zeile_nr!==56 @echo "2=%%I">>alphabet2.txt  
if !zeile_nr!==57 @echo "3=%%I">>alphabet2.txt  
if !zeile_nr!==58 @echo "4=%%I">>alphabet2.txt  
if !zeile_nr!==59 @echo "5=%%I">>alphabet2.txt  
if !zeile_nr!==60 @echo "6=%%I">>alphabet2.txt  
if !zeile_nr!==61 @echo "7=%%I">>alphabet2.txt  
if !zeile_nr!==62 @echo "8=%%I">>alphabet2.txt  
if !zeile_nr!==63 @echo "9=%%I">>alphabet2.txt  
set /a zeile_nr+=1
)
del "alphabet.txt"  
for /F "delims=" %%I in (alphabet2.txt) do @echo\%%~I>>"alphabet.txt"  
del "alphabet2.txt"  

set "ctext=ctext.txt"  
for /f "delims=" %%I in (ktext.txt) do set text=!text!_%%I  
set text=%text:~1%_
set "alphabet=alphabet.txt"  
if exist %ctext% del %ctext%

set "Code="  
:Loop_codieren
if "%Text%"=="" goto :fertig  
set "Char=%Text:~,1%"  
if "%Char%"=="_" goto naechste_zeile  
for /f "tokens=1-2 delims==" %%i in ('findstr /c:"%Char%=" "%alphabet%"') do set "CodeChar=%%j"  
if not defined CodeChar (echo "%Char%" nicht gefunden! & goto :fertig)  
set "Text=%Text:~1%"  
set "Code=%Code%%CodeChar%"  
goto :Loop_codieren

:naechste_zeile
echo\%Code%>>"%ctext%"  
set "Code="  
set "Text=%Text:~1%"  
goto loop_codieren

:fertig
if exist "ktext.txt" del "ktext.txt"  
ren "ctext.txt" "ktext.txt"  

set /a verbraucht=%verbraucht%+%stellen_paar_n%
if %nr_paar_n%==%paare_schluessel% goto letztes_paar
set /a ort_paar_n=%ort_paar_n%+1
set /a nr_paar_n=%nr_paar_n%+1
goto naechstes_paar_schluessel
:letztes_paar
set /a nr_paar_n=%nr_paar_n%+1
set /a stellen_paar_n=%stellen%-%paare_schluessel%-%verbraucht%-1
set paar_n=!schluessel:~%verbraucht%,%stellen_paar_n%!
set /a a=%paar_n%/63+1
set /a b=%paar_n%-63*(%a%-1)

if exist "alphabet.txt" del "alphabet.txt"  
if not %a% lss %b% goto a_groesser_b

set /a Abbruch_1_1=%b%-%a%+1
set /a Abbruch_1_2=%b%-%a%
set /a Abbruch_1_3=%b%

set /a zeichen_alpha=%b%-1
:abschnitt_1_1 
@echo "%zeichen_alpha%">>alphabet.txt  
if %zeichen_alpha%==%Abbruch_1_1% goto weiter_1_1
set /a zeichen_alpha=%zeichen_alpha%-1
goto abschnitt_1_1

:weiter_1_1
set /a zeichen_alpha=1
:abschnitt_1_2
@echo "%zeichen_alpha%">>alphabet.txt  
if %zeichen_alpha%==%Abbruch_1_2% goto weiter_1_2
set /a zeichen_alpha=%zeichen_alpha%+1
goto abschnitt_1_2

:weiter_1_2
set /a zeichen_alpha=63
:abschnitt_1_3
@echo "%zeichen_alpha%">>alphabet.txt  
if %zeichen_alpha%==%Abbruch_1_3% goto weiter_1_3
set /a zeichen_alpha=%zeichen_alpha%-1
goto abschnitt_1_3

:a_groesser_b
set /a Abbruch_2_1=63
set /a Abbruch_2_2=1
set /a Abbruch_2_3=63-%b%

set /a zeichen_alpha=64-%b%
:abschnitt_2_1 
@echo "%zeichen_alpha%">>alphabet.txt  
if %zeichen_alpha%==%Abbruch_2_1% goto weiter_2_1
set /a zeichen_alpha=%zeichen_alpha%+1
goto abschnitt_2_1

:weiter_2_1
set /a zeichen_alpha=%a%-%b%
:abschnitt_2_2
@echo "%zeichen_alpha%">>alphabet.txt  
if %zeichen_alpha%==%Abbruch_2_2% goto weiter_2_2
set /a zeichen_alpha=%zeichen_alpha%-1
goto abschnitt_2_2

:weiter_2_2
set /a zeichen_alpha=%a%-%b%+1
:abschnitt_2_3
@echo "%zeichen_alpha%">>alphabet.txt  
if %zeichen_alpha%==%Abbruch_2_3% goto weiter_2_3
set /a zeichen_alpha=%zeichen_alpha%+1
goto abschnitt_2_3

:weiter_1_3
:weiter_2_3

if exist "alphabet2.txt" del "alphabet2.txt"  
for /F "delims=" %%I in (alphabet.txt) do @echo %%~I>>"alphabet2.txt"  
del "alphabet.txt"  
for /F "delims=" %%I in (alphabet2.txt) do (  
if %%I==1 @echo "A">>alphabet.txt  
if %%I==2 @echo "B">>alphabet.txt  
if %%I==3 @echo "C">>alphabet.txt  
if %%I==4 @echo "D">>alphabet.txt  
if %%I==5 @echo "E">>alphabet.txt  
if %%I==6 @echo "F">>alphabet.txt  
if %%I==7 @echo "G">>alphabet.txt  
if %%I==8 @echo "H">>alphabet.txt  
if %%I==9 @echo "I">>alphabet.txt  
if %%I==10 @echo "J">>alphabet.txt  
if %%I==11 @echo "K">>alphabet.txt  
if %%I==12 @echo "L">>alphabet.txt  
if %%I==13 @echo "M">>alphabet.txt  
if %%I==14 @echo "N">>alphabet.txt  
if %%I==15 @echo "O">>alphabet.txt  
if %%I==16 @echo "P">>alphabet.txt  
if %%I==17 @echo "Q">>alphabet.txt  
if %%I==18 @echo "R">>alphabet.txt  
if %%I==19 @echo "S">>alphabet.txt  
if %%I==20 @echo "T">>alphabet.txt  
if %%I==21 @echo "U">>alphabet.txt  
if %%I==22 @echo "V">>alphabet.txt  
if %%I==23 @echo "W">>alphabet.txt  
if %%I==24 @echo "X">>alphabet.txt  
if %%I==25 @echo "Y">>alphabet.txt  
if %%I==26 @echo "Z">>alphabet.txt  
if %%I==27 @echo " ">>alphabet.txt  
if %%I==28 @echo "a">>alphabet.txt  
if %%I==29 @echo "b">>alphabet.txt  
if %%I==30 @echo "c">>alphabet.txt  
if %%I==31 @echo "d">>alphabet.txt  
if %%I==32 @echo "e">>alphabet.txt  
if %%I==33 @echo "f">>alphabet.txt  
if %%I==34 @echo "g">>alphabet.txt  
if %%I==35 @echo "h">>alphabet.txt  
if %%I==36 @echo "i">>alphabet.txt  
if %%I==37 @echo "j">>alphabet.txt  
if %%I==38 @echo "k">>alphabet.txt  
if %%I==39 @echo "l">>alphabet.txt  
if %%I==40 @echo "m">>alphabet.txt  
if %%I==41 @echo "n">>alphabet.txt  
if %%I==42 @echo "o">>alphabet.txt  
if %%I==43 @echo "p">>alphabet.txt  
if %%I==44 @echo "q">>alphabet.txt  
if %%I==45 @echo "r">>alphabet.txt  
if %%I==46 @echo "s">>alphabet.txt  
if %%I==47 @echo "t">>alphabet.txt  
if %%I==48 @echo "u">>alphabet.txt  
if %%I==49 @echo "v">>alphabet.txt  
if %%I==50 @echo "w">>alphabet.txt  
if %%I==51 @echo "x">>alphabet.txt  
if %%I==52 @echo "y">>alphabet.txt  
if %%I==53 @echo "z">>alphabet.txt  
if %%I==54 @echo "0">>alphabet.txt  
if %%I==55 @echo "1">>alphabet.txt  
if %%I==56 @echo "2">>alphabet.txt  
if %%I==57 @echo "3">>alphabet.txt  
if %%I==58 @echo "4">>alphabet.txt  
if %%I==59 @echo "5">>alphabet.txt  
if %%I==60 @echo "6">>alphabet.txt  
if %%I==61 @echo "7">>alphabet.txt  
if %%I==62 @echo "8">>alphabet.txt  
if %%I==63 @echo "9">>alphabet.txt  
)
if exist "alphabet2.txt" del "alphabet2.txt"  
for /F "delims=" %%I in (alphabet.txt) do @echo\%%~I>>"alphabet2.txt"  
del "alphabet.txt"  
ren "alphabet2.txt" "alphabet.txt"  
set /a zeile_nr=1
for /F "delims=" %%I in (alphabet.txt)do (  
if !zeile_nr!==1 @echo "A=%%I">>alphabet2.txt  
if !zeile_nr!==2 @echo "B=%%I">>alphabet2.txt  
if !zeile_nr!==3 @echo "C=%%I">>alphabet2.txt  
if !zeile_nr!==4 @echo "D=%%I">>alphabet2.txt  
if !zeile_nr!==5 @echo "E=%%I">>alphabet2.txt  
if !zeile_nr!==6 @echo "F=%%I">>alphabet2.txt  
if !zeile_nr!==7 @echo "G=%%I">>alphabet2.txt  
if !zeile_nr!==8 @echo "H=%%I">>alphabet2.txt  
if !zeile_nr!==9 @echo "I=%%I">>alphabet2.txt  
if !zeile_nr!==10 @echo "J=%%I">>alphabet2.txt  
if !zeile_nr!==11 @echo "K=%%I">>alphabet2.txt  
if !zeile_nr!==12 @echo "L=%%I">>alphabet2.txt  
if !zeile_nr!==13 @echo "M=%%I">>alphabet2.txt  
if !zeile_nr!==14 @echo "N=%%I">>alphabet2.txt  
if !zeile_nr!==15 @echo "O=%%I">>alphabet2.txt  
if !zeile_nr!==16 @echo "P=%%I">>alphabet2.txt  
if !zeile_nr!==17 @echo "Q=%%I">>alphabet2.txt  
if !zeile_nr!==18 @echo "R=%%I">>alphabet2.txt  
if !zeile_nr!==19 @echo "S=%%I">>alphabet2.txt  
if !zeile_nr!==20 @echo "T=%%I">>alphabet2.txt  
if !zeile_nr!==21 @echo "U=%%I">>alphabet2.txt  
if !zeile_nr!==22 @echo "V=%%I">>alphabet2.txt  
if !zeile_nr!==23 @echo "W=%%I">>alphabet2.txt  
if !zeile_nr!==24 @echo "X=%%I">>alphabet2.txt  
if !zeile_nr!==25 @echo "Y=%%I">>alphabet2.txt  
if !zeile_nr!==26 @echo "Z=%%I">>alphabet2.txt  
if !zeile_nr!==27 @echo " =%%I">>alphabet2.txt  
if !zeile_nr!==28 @echo "a=%%I">>alphabet2.txt  
if !zeile_nr!==29 @echo "b=%%I">>alphabet2.txt  
if !zeile_nr!==30 @echo "c=%%I">>alphabet2.txt  
if !zeile_nr!==31 @echo "d=%%I">>alphabet2.txt  
if !zeile_nr!==32 @echo "e=%%I">>alphabet2.txt  
if !zeile_nr!==33 @echo "f=%%I">>alphabet2.txt  
if !zeile_nr!==34 @echo "g=%%I">>alphabet2.txt  
if !zeile_nr!==35 @echo "h=%%I">>alphabet2.txt  
if !zeile_nr!==36 @echo "i=%%I">>alphabet2.txt  
if !zeile_nr!==37 @echo "j=%%I">>alphabet2.txt  
if !zeile_nr!==38 @echo "k=%%I">>alphabet2.txt  
if !zeile_nr!==39 @echo "l=%%I">>alphabet2.txt  
if !zeile_nr!==40 @echo "m=%%I">>alphabet2.txt  
if !zeile_nr!==41 @echo "n=%%I">>alphabet2.txt  
if !zeile_nr!==42 @echo "o=%%I">>alphabet2.txt  
if !zeile_nr!==43 @echo "p=%%I">>alphabet2.txt  
if !zeile_nr!==44 @echo "q=%%I">>alphabet2.txt  
if !zeile_nr!==45 @echo "r=%%I">>alphabet2.txt  
if !zeile_nr!==46 @echo "s=%%I">>alphabet2.txt  
if !zeile_nr!==47 @echo "t=%%I">>alphabet2.txt  
if !zeile_nr!==48 @echo "u=%%I">>alphabet2.txt  
if !zeile_nr!==49 @echo "v=%%I">>alphabet2.txt  
if !zeile_nr!==50 @echo "w=%%I">>alphabet2.txt  
if !zeile_nr!==51 @echo "x=%%I">>alphabet2.txt  
if !zeile_nr!==52 @echo "y=%%I">>alphabet2.txt  
if !zeile_nr!==53 @echo "z=%%I">>alphabet2.txt  
if !zeile_nr!==54 @echo "0=%%I">>alphabet2.txt  
if !zeile_nr!==55 @echo "1=%%I">>alphabet2.txt  
if !zeile_nr!==56 @echo "2=%%I">>alphabet2.txt  
if !zeile_nr!==57 @echo "3=%%I">>alphabet2.txt  
if !zeile_nr!==58 @echo "4=%%I">>alphabet2.txt  
if !zeile_nr!==59 @echo "5=%%I">>alphabet2.txt  
if !zeile_nr!==60 @echo "6=%%I">>alphabet2.txt  
if !zeile_nr!==61 @echo "7=%%I">>alphabet2.txt  
if !zeile_nr!==62 @echo "8=%%I">>alphabet2.txt  
if !zeile_nr!==63 @echo "9=%%I">>alphabet2.txt  
set /a zeile_nr+=1
)
del "alphabet.txt"  
for /F "delims=" %%I in (alphabet2.txt) do @echo\%%~I>>"alphabet.txt"  
del "alphabet2.txt"  

set "ctext=ctext.txt"  
for /f "delims=" %%I in (ktext.txt) do set text=!text!_%%I  
set text=%text:~1%_
set "alphabet=alphabet.txt"  
if exist %ctext% del %ctext%

set "Code="  
:Loop_codieren2
if "%Text%"=="" goto :fertig  
set "Char=%Text:~,1%"  
if "%Char%"=="_" goto naechste_zeile  
for /f "tokens=1-2 delims==" %%i in ('findstr /c:"%Char%=" "%alphabet%"') do set "CodeChar=%%j"  
if not defined CodeChar (echo "%Char%" nicht gefunden! & goto :fertig)  
set "Text=%Text:~1%"  
set "Code=%Code%%CodeChar%"  
goto :Loop_codieren2

:naechste_zeile
echo\%Code%>>"%ctext%"  
set "Code="  
set "Text=%Text:~1%"  
goto loop_codieren2

:fertig
del alphabet.txt
if exist "ktext.txt" del "ktext.txt"  
ren "ctext.txt" "ktext.txt"  
pause

Decodierung.bat:
@echo off & setlocal enabledelayedexpansion
set /p schluessel="Bitte Schluessel eingeben: "  
:Loop_schluessel
set "Char_key=!Schluessel:~%stellen%,1!"  
if "%Char_key%"=="" goto :Weiter_schluessel  
set /a stellen+=1
goto :Loop_schluessel
:Weiter_schluessel
set /a paare_schluessel=%schluessel:~-1,1%
set /a nr_paar_n=0
set /a verbraucht=0
if 0==%paare_schluessel% goto letztes_paar
set /a nr_paar_n=1
set /a ort_paar_n=%stellen%-%nr_paar_n%-1
:naechstes_paar_schluessel
set /a stellen_paar_n=!schluessel:~%ort_paar_n%,1!
set /a anfang_paar_n=%stellen%-%paare_schluessel%-%verbraucht%-%stellen_paar_n%-1
set paar_n=!schluessel:~%anfang_paar_n%,%stellen_paar_n%!
set /a a=%paar_n%/63+1
set /a b=%paar_n%-63*(%a%-1)

if exist "alphabet.txt" del "alphabet.txt"  
if not %a% lss %b% goto a_groesser_b

set /a Abbruch_1_1=%b%-1
set /a Abbruch_1_2=1
set /a Abbruch_1_3=%b%

set /a zeichen_alpha=%a%
:abschnitt_1_1 
@echo "%zeichen_alpha%">>alphabet.txt  
if %zeichen_alpha%==%Abbruch_1_1% goto weiter_1_1
set /a zeichen_alpha=%zeichen_alpha%+1
goto abschnitt_1_1

:weiter_1_1
set /a zeichen_alpha=%a%-1
:abschnitt_1_2
@echo "%zeichen_alpha%">>alphabet.txt  
if %zeichen_alpha%==%Abbruch_1_2% goto weiter_1_2
set /a zeichen_alpha=%zeichen_alpha%-1
goto abschnitt_1_2

:weiter_1_2
set /a zeichen_alpha=63
:abschnitt_1_3
@echo "%zeichen_alpha%">>alphabet.txt  
if %zeichen_alpha%==%Abbruch_1_3% goto weiter_1_3
set /a zeichen_alpha=%zeichen_alpha%-1
goto abschnitt_1_3

:a_groesser_b
set /a Abbruch_2_1=%b%+1
set /a Abbruch_2_2=63
set /a Abbruch_2_3=%b%

set /a zeichen_alpha=%a%
:abschnitt_2_1 
@echo "%zeichen_alpha%">>alphabet.txt  
if %zeichen_alpha%==%Abbruch_2_1% goto weiter_2_1
set /a zeichen_alpha=%zeichen_alpha%-1
goto abschnitt_2_1

:weiter_2_1
set /a zeichen_alpha=%a%+1
:abschnitt_2_2
@echo "%zeichen_alpha%">>alphabet.txt  
if %zeichen_alpha%==%Abbruch_2_2% goto weiter_2_2
set /a zeichen_alpha=%zeichen_alpha%+1
goto abschnitt_2_2

:weiter_2_2
set /a zeichen_alpha=1
:abschnitt_2_3
@echo "%zeichen_alpha%">>alphabet.txt  
if %zeichen_alpha%==%Abbruch_2_3% goto weiter_2_3
set /a zeichen_alpha=%zeichen_alpha%+1
goto abschnitt_2_3

:weiter_1_3
:weiter_2_3

if exist "alphabet2.txt" del "alphabet2.txt"  
for /F "delims=" %%I in (alphabet.txt) do @echo %%~I>>"alphabet2.txt"  
del "alphabet.txt"  
for /F "delims=" %%I in (alphabet2.txt) do (  
if %%I==1 @echo "A">>alphabet.txt  
if %%I==2 @echo "B">>alphabet.txt  
if %%I==3 @echo "C">>alphabet.txt  
if %%I==4 @echo "D">>alphabet.txt  
if %%I==5 @echo "E">>alphabet.txt  
if %%I==6 @echo "F">>alphabet.txt  
if %%I==7 @echo "G">>alphabet.txt  
if %%I==8 @echo "H">>alphabet.txt  
if %%I==9 @echo "I">>alphabet.txt  
if %%I==10 @echo "J">>alphabet.txt  
if %%I==11 @echo "K">>alphabet.txt  
if %%I==12 @echo "L">>alphabet.txt  
if %%I==13 @echo "M">>alphabet.txt  
if %%I==14 @echo "N">>alphabet.txt  
if %%I==15 @echo "O">>alphabet.txt  
if %%I==16 @echo "P">>alphabet.txt  
if %%I==17 @echo "Q">>alphabet.txt  
if %%I==18 @echo "R">>alphabet.txt  
if %%I==19 @echo "S">>alphabet.txt  
if %%I==20 @echo "T">>alphabet.txt  
if %%I==21 @echo "U">>alphabet.txt  
if %%I==22 @echo "V">>alphabet.txt  
if %%I==23 @echo "W">>alphabet.txt  
if %%I==24 @echo "X">>alphabet.txt  
if %%I==25 @echo "Y">>alphabet.txt  
if %%I==26 @echo "Z">>alphabet.txt  
if %%I==27 @echo " ">>alphabet.txt  
if %%I==28 @echo "a">>alphabet.txt  
if %%I==29 @echo "b">>alphabet.txt  
if %%I==30 @echo "c">>alphabet.txt  
if %%I==31 @echo "d">>alphabet.txt  
if %%I==32 @echo "e">>alphabet.txt  
if %%I==33 @echo "f">>alphabet.txt  
if %%I==34 @echo "g">>alphabet.txt  
if %%I==35 @echo "h">>alphabet.txt  
if %%I==36 @echo "i">>alphabet.txt  
if %%I==37 @echo "j">>alphabet.txt  
if %%I==38 @echo "k">>alphabet.txt  
if %%I==39 @echo "l">>alphabet.txt  
if %%I==40 @echo "m">>alphabet.txt  
if %%I==41 @echo "n">>alphabet.txt  
if %%I==42 @echo "o">>alphabet.txt  
if %%I==43 @echo "p">>alphabet.txt  
if %%I==44 @echo "q">>alphabet.txt  
if %%I==45 @echo "r">>alphabet.txt  
if %%I==46 @echo "s">>alphabet.txt  
if %%I==47 @echo "t">>alphabet.txt  
if %%I==48 @echo "u">>alphabet.txt  
if %%I==49 @echo "v">>alphabet.txt  
if %%I==50 @echo "w">>alphabet.txt  
if %%I==51 @echo "x">>alphabet.txt  
if %%I==52 @echo "y">>alphabet.txt  
if %%I==53 @echo "z">>alphabet.txt  
if %%I==54 @echo "0">>alphabet.txt  
if %%I==55 @echo "1">>alphabet.txt  
if %%I==56 @echo "2">>alphabet.txt  
if %%I==57 @echo "3">>alphabet.txt  
if %%I==58 @echo "4">>alphabet.txt  
if %%I==59 @echo "5">>alphabet.txt  
if %%I==60 @echo "6">>alphabet.txt  
if %%I==61 @echo "7">>alphabet.txt  
if %%I==62 @echo "8">>alphabet.txt  
if %%I==63 @echo "9">>alphabet.txt  
)
if exist "alphabet2.txt" del "alphabet2.txt"  
for /F "delims=" %%I in (alphabet.txt) do @echo\%%~I>>"alphabet2.txt"  
del "alphabet.txt"  
ren "alphabet2.txt" "alphabet.txt"  
set /a zeile_nr=1
for /F "delims=" %%I in (alphabet.txt)do (  
if !zeile_nr!==1 @echo "A=%%I">>alphabet2.txt  
if !zeile_nr!==2 @echo "B=%%I">>alphabet2.txt  
if !zeile_nr!==3 @echo "C=%%I">>alphabet2.txt  
if !zeile_nr!==4 @echo "D=%%I">>alphabet2.txt  
if !zeile_nr!==5 @echo "E=%%I">>alphabet2.txt  
if !zeile_nr!==6 @echo "F=%%I">>alphabet2.txt  
if !zeile_nr!==7 @echo "G=%%I">>alphabet2.txt  
if !zeile_nr!==8 @echo "H=%%I">>alphabet2.txt  
if !zeile_nr!==9 @echo "I=%%I">>alphabet2.txt  
if !zeile_nr!==10 @echo "J=%%I">>alphabet2.txt  
if !zeile_nr!==11 @echo "K=%%I">>alphabet2.txt  
if !zeile_nr!==12 @echo "L=%%I">>alphabet2.txt  
if !zeile_nr!==13 @echo "M=%%I">>alphabet2.txt  
if !zeile_nr!==14 @echo "N=%%I">>alphabet2.txt  
if !zeile_nr!==15 @echo "O=%%I">>alphabet2.txt  
if !zeile_nr!==16 @echo "P=%%I">>alphabet2.txt  
if !zeile_nr!==17 @echo "Q=%%I">>alphabet2.txt  
if !zeile_nr!==18 @echo "R=%%I">>alphabet2.txt  
if !zeile_nr!==19 @echo "S=%%I">>alphabet2.txt  
if !zeile_nr!==20 @echo "T=%%I">>alphabet2.txt  
if !zeile_nr!==21 @echo "U=%%I">>alphabet2.txt  
if !zeile_nr!==22 @echo "V=%%I">>alphabet2.txt  
if !zeile_nr!==23 @echo "W=%%I">>alphabet2.txt  
if !zeile_nr!==24 @echo "X=%%I">>alphabet2.txt  
if !zeile_nr!==25 @echo "Y=%%I">>alphabet2.txt  
if !zeile_nr!==26 @echo "Z=%%I">>alphabet2.txt  
if !zeile_nr!==27 @echo " =%%I">>alphabet2.txt  
if !zeile_nr!==28 @echo "a=%%I">>alphabet2.txt  
if !zeile_nr!==29 @echo "b=%%I">>alphabet2.txt  
if !zeile_nr!==30 @echo "c=%%I">>alphabet2.txt  
if !zeile_nr!==31 @echo "d=%%I">>alphabet2.txt  
if !zeile_nr!==32 @echo "e=%%I">>alphabet2.txt  
if !zeile_nr!==33 @echo "f=%%I">>alphabet2.txt  
if !zeile_nr!==34 @echo "g=%%I">>alphabet2.txt  
if !zeile_nr!==35 @echo "h=%%I">>alphabet2.txt  
if !zeile_nr!==36 @echo "i=%%I">>alphabet2.txt  
if !zeile_nr!==37 @echo "j=%%I">>alphabet2.txt  
if !zeile_nr!==38 @echo "k=%%I">>alphabet2.txt  
if !zeile_nr!==39 @echo "l=%%I">>alphabet2.txt  
if !zeile_nr!==40 @echo "m=%%I">>alphabet2.txt  
if !zeile_nr!==41 @echo "n=%%I">>alphabet2.txt  
if !zeile_nr!==42 @echo "o=%%I">>alphabet2.txt  
if !zeile_nr!==43 @echo "p=%%I">>alphabet2.txt  
if !zeile_nr!==44 @echo "q=%%I">>alphabet2.txt  
if !zeile_nr!==45 @echo "r=%%I">>alphabet2.txt  
if !zeile_nr!==46 @echo "s=%%I">>alphabet2.txt  
if !zeile_nr!==47 @echo "t=%%I">>alphabet2.txt  
if !zeile_nr!==48 @echo "u=%%I">>alphabet2.txt  
if !zeile_nr!==49 @echo "v=%%I">>alphabet2.txt  
if !zeile_nr!==50 @echo "w=%%I">>alphabet2.txt  
if !zeile_nr!==51 @echo "x=%%I">>alphabet2.txt  
if !zeile_nr!==52 @echo "y=%%I">>alphabet2.txt  
if !zeile_nr!==53 @echo "z=%%I">>alphabet2.txt  
if !zeile_nr!==54 @echo "0=%%I">>alphabet2.txt  
if !zeile_nr!==55 @echo "1=%%I">>alphabet2.txt  
if !zeile_nr!==56 @echo "2=%%I">>alphabet2.txt  
if !zeile_nr!==57 @echo "3=%%I">>alphabet2.txt  
if !zeile_nr!==58 @echo "4=%%I">>alphabet2.txt  
if !zeile_nr!==59 @echo "5=%%I">>alphabet2.txt  
if !zeile_nr!==60 @echo "6=%%I">>alphabet2.txt  
if !zeile_nr!==61 @echo "7=%%I">>alphabet2.txt  
if !zeile_nr!==62 @echo "8=%%I">>alphabet2.txt  
if !zeile_nr!==63 @echo "9=%%I">>alphabet2.txt  
set /a zeile_nr+=1
)
del "alphabet.txt"  
for /F "delims=" %%I in (alphabet2.txt) do @echo\%%~I>>"alphabet.txt"  
del "alphabet2.txt"  

set "ctext=ctext.txt"  
for /f "delims=" %%I in (ktext.txt) do set text=!text!_%%I  
set text=%text:~1%_
set "alphabet=alphabet.txt"  
if exist %ctext% del %ctext%

set "Code="  
:Loop_codieren
if "%Text%"=="" goto :fertig  
set "Char=%Text:~,1%"  
if "%Char%"=="_" goto naechste_zeile  
for /f "tokens=1-2 delims==" %%i in ('findstr /c:"%Char%=" "%alphabet%"') do set "CodeChar=%%j"  
if not defined CodeChar (echo "%Char%" nicht gefunden! & goto :fertig)  
set "Text=%Text:~1%"  
set "Code=%Code%%CodeChar%"  
goto :Loop_codieren

:naechste_zeile
echo\%Code%>>"%ctext%"  
set "Code="  
set "Text=%Text:~1%"  
goto loop_codieren

:fertig
if exist "ktext.txt" del "ktext.txt"  
ren "ctext.txt" "ktext.txt"  

set /a verbraucht=%verbraucht%+%stellen_paar_n%
if %nr_paar_n%==%paare_schluessel% goto letztes_paar
set /a ort_paar_n=%ort_paar_n%-1
set /a nr_paar_n=%nr_paar_n%+1
goto naechstes_paar_schluessel
:letztes_paar
set /a nr_paar_n=%nr_paar_n%+1
set /a stellen_paar_n=%stellen%-%paare_schluessel%-%verbraucht%-1
set paar_n=!schluessel:~0,%stellen_paar_n%!
set /a a=%paar_n%/63+1
set /a b=%paar_n%-63*(%a%-1)

if exist "alphabet.txt" del "alphabet.txt"  
if not %a% lss %b% goto a_groesser_b

set /a Abbruch_1_1=%b%-1
set /a Abbruch_1_2=1
set /a Abbruch_1_3=%b%

set /a zeichen_alpha=%a%
:abschnitt_1_1 
@echo "%zeichen_alpha%">>alphabet.txt  
if %zeichen_alpha%==%Abbruch_1_1% goto weiter_1_1
set /a zeichen_alpha=%zeichen_alpha%+1
goto abschnitt_1_1

:weiter_1_1
set /a zeichen_alpha=%a%-1
:abschnitt_1_2
@echo "%zeichen_alpha%">>alphabet.txt  
if %zeichen_alpha%==%Abbruch_1_2% goto weiter_1_2
set /a zeichen_alpha=%zeichen_alpha%-1
goto abschnitt_1_2

:weiter_1_2
set /a zeichen_alpha=63
:abschnitt_1_3
@echo "%zeichen_alpha%">>alphabet.txt  
if %zeichen_alpha%==%Abbruch_1_3% goto weiter_1_3
set /a zeichen_alpha=%zeichen_alpha%-1
goto abschnitt_1_3

:a_groesser_b
set /a Abbruch_2_1=%b%+1
set /a Abbruch_2_2=63
set /a Abbruch_2_3=%b%

set /a zeichen_alpha=%a%
:abschnitt_2_1 
@echo "%zeichen_alpha%">>alphabet.txt  
if %zeichen_alpha%==%Abbruch_2_1% goto weiter_2_1
set /a zeichen_alpha=%zeichen_alpha%-1
goto abschnitt_2_1

:weiter_2_1
set /a zeichen_alpha=%a%+1
:abschnitt_2_2
@echo "%zeichen_alpha%">>alphabet.txt  
if %zeichen_alpha%==%Abbruch_2_2% goto weiter_2_2
set /a zeichen_alpha=%zeichen_alpha%+1
goto abschnitt_2_2

:weiter_2_2
set /a zeichen_alpha=1
:abschnitt_2_3
@echo "%zeichen_alpha%">>alphabet.txt  
if %zeichen_alpha%==%Abbruch_2_3% goto weiter_2_3
set /a zeichen_alpha=%zeichen_alpha%+1
goto abschnitt_2_3

:weiter_1_3
:weiter_2_3

if exist "alphabet2.txt" del "alphabet2.txt"  
for /F "delims=" %%I in (alphabet.txt) do @echo %%~I>>"alphabet2.txt"  
del "alphabet.txt"  
for /F "delims=" %%I in (alphabet2.txt) do (  
if %%I==1 @echo "A">>alphabet.txt  
if %%I==2 @echo "B">>alphabet.txt  
if %%I==3 @echo "C">>alphabet.txt  
if %%I==4 @echo "D">>alphabet.txt  
if %%I==5 @echo "E">>alphabet.txt  
if %%I==6 @echo "F">>alphabet.txt  
if %%I==7 @echo "G">>alphabet.txt  
if %%I==8 @echo "H">>alphabet.txt  
if %%I==9 @echo "I">>alphabet.txt  
if %%I==10 @echo "J">>alphabet.txt  
if %%I==11 @echo "K">>alphabet.txt  
if %%I==12 @echo "L">>alphabet.txt  
if %%I==13 @echo "M">>alphabet.txt  
if %%I==14 @echo "N">>alphabet.txt  
if %%I==15 @echo "O">>alphabet.txt  
if %%I==16 @echo "P">>alphabet.txt  
if %%I==17 @echo "Q">>alphabet.txt  
if %%I==18 @echo "R">>alphabet.txt  
if %%I==19 @echo "S">>alphabet.txt  
if %%I==20 @echo "T">>alphabet.txt  
if %%I==21 @echo "U">>alphabet.txt  
if %%I==22 @echo "V">>alphabet.txt  
if %%I==23 @echo "W">>alphabet.txt  
if %%I==24 @echo "X">>alphabet.txt  
if %%I==25 @echo "Y">>alphabet.txt  
if %%I==26 @echo "Z">>alphabet.txt  
if %%I==27 @echo " ">>alphabet.txt  
if %%I==28 @echo "a">>alphabet.txt  
if %%I==29 @echo "b">>alphabet.txt  
if %%I==30 @echo "c">>alphabet.txt  
if %%I==31 @echo "d">>alphabet.txt  
if %%I==32 @echo "e">>alphabet.txt  
if %%I==33 @echo "f">>alphabet.txt  
if %%I==34 @echo "g">>alphabet.txt  
if %%I==35 @echo "h">>alphabet.txt  
if %%I==36 @echo "i">>alphabet.txt  
if %%I==37 @echo "j">>alphabet.txt  
if %%I==38 @echo "k">>alphabet.txt  
if %%I==39 @echo "l">>alphabet.txt  
if %%I==40 @echo "m">>alphabet.txt  
if %%I==41 @echo "n">>alphabet.txt  
if %%I==42 @echo "o">>alphabet.txt  
if %%I==43 @echo "p">>alphabet.txt  
if %%I==44 @echo "q">>alphabet.txt  
if %%I==45 @echo "r">>alphabet.txt  
if %%I==46 @echo "s">>alphabet.txt  
if %%I==47 @echo "t">>alphabet.txt  
if %%I==48 @echo "u">>alphabet.txt  
if %%I==49 @echo "v">>alphabet.txt  
if %%I==50 @echo "w">>alphabet.txt  
if %%I==51 @echo "x">>alphabet.txt  
if %%I==52 @echo "y">>alphabet.txt  
if %%I==53 @echo "z">>alphabet.txt  
if %%I==54 @echo "0">>alphabet.txt  
if %%I==55 @echo "1">>alphabet.txt  
if %%I==56 @echo "2">>alphabet.txt  
if %%I==57 @echo "3">>alphabet.txt  
if %%I==58 @echo "4">>alphabet.txt  
if %%I==59 @echo "5">>alphabet.txt  
if %%I==60 @echo "6">>alphabet.txt  
if %%I==61 @echo "7">>alphabet.txt  
if %%I==62 @echo "8">>alphabet.txt  
if %%I==63 @echo "9">>alphabet.txt  
)
if exist "alphabet2.txt" del "alphabet2.txt"  
for /F "delims=" %%I in (alphabet.txt) do @echo\%%~I>>"alphabet2.txt"  
del "alphabet.txt"  
ren "alphabet2.txt" "alphabet.txt"  
set /a zeile_nr=1
for /F "delims=" %%I in (alphabet.txt)do (  
if !zeile_nr!==1 @echo "A=%%I">>alphabet2.txt  
if !zeile_nr!==2 @echo "B=%%I">>alphabet2.txt  
if !zeile_nr!==3 @echo "C=%%I">>alphabet2.txt  
if !zeile_nr!==4 @echo "D=%%I">>alphabet2.txt  
if !zeile_nr!==5 @echo "E=%%I">>alphabet2.txt  
if !zeile_nr!==6 @echo "F=%%I">>alphabet2.txt  
if !zeile_nr!==7 @echo "G=%%I">>alphabet2.txt  
if !zeile_nr!==8 @echo "H=%%I">>alphabet2.txt  
if !zeile_nr!==9 @echo "I=%%I">>alphabet2.txt  
if !zeile_nr!==10 @echo "J=%%I">>alphabet2.txt  
if !zeile_nr!==11 @echo "K=%%I">>alphabet2.txt  
if !zeile_nr!==12 @echo "L=%%I">>alphabet2.txt  
if !zeile_nr!==13 @echo "M=%%I">>alphabet2.txt  
if !zeile_nr!==14 @echo "N=%%I">>alphabet2.txt  
if !zeile_nr!==15 @echo "O=%%I">>alphabet2.txt  
if !zeile_nr!==16 @echo "P=%%I">>alphabet2.txt  
if !zeile_nr!==17 @echo "Q=%%I">>alphabet2.txt  
if !zeile_nr!==18 @echo "R=%%I">>alphabet2.txt  
if !zeile_nr!==19 @echo "S=%%I">>alphabet2.txt  
if !zeile_nr!==20 @echo "T=%%I">>alphabet2.txt  
if !zeile_nr!==21 @echo "U=%%I">>alphabet2.txt  
if !zeile_nr!==22 @echo "V=%%I">>alphabet2.txt  
if !zeile_nr!==23 @echo "W=%%I">>alphabet2.txt  
if !zeile_nr!==24 @echo "X=%%I">>alphabet2.txt  
if !zeile_nr!==25 @echo "Y=%%I">>alphabet2.txt  
if !zeile_nr!==26 @echo "Z=%%I">>alphabet2.txt  
if !zeile_nr!==27 @echo " =%%I">>alphabet2.txt  
if !zeile_nr!==28 @echo "a=%%I">>alphabet2.txt  
if !zeile_nr!==29 @echo "b=%%I">>alphabet2.txt  
if !zeile_nr!==30 @echo "c=%%I">>alphabet2.txt  
if !zeile_nr!==31 @echo "d=%%I">>alphabet2.txt  
if !zeile_nr!==32 @echo "e=%%I">>alphabet2.txt  
if !zeile_nr!==33 @echo "f=%%I">>alphabet2.txt  
if !zeile_nr!==34 @echo "g=%%I">>alphabet2.txt  
if !zeile_nr!==35 @echo "h=%%I">>alphabet2.txt  
if !zeile_nr!==36 @echo "i=%%I">>alphabet2.txt  
if !zeile_nr!==37 @echo "j=%%I">>alphabet2.txt  
if !zeile_nr!==38 @echo "k=%%I">>alphabet2.txt  
if !zeile_nr!==39 @echo "l=%%I">>alphabet2.txt  
if !zeile_nr!==40 @echo "m=%%I">>alphabet2.txt  
if !zeile_nr!==41 @echo "n=%%I">>alphabet2.txt  
if !zeile_nr!==42 @echo "o=%%I">>alphabet2.txt  
if !zeile_nr!==43 @echo "p=%%I">>alphabet2.txt  
if !zeile_nr!==44 @echo "q=%%I">>alphabet2.txt  
if !zeile_nr!==45 @echo "r=%%I">>alphabet2.txt  
if !zeile_nr!==46 @echo "s=%%I">>alphabet2.txt  
if !zeile_nr!==47 @echo "t=%%I">>alphabet2.txt  
if !zeile_nr!==48 @echo "u=%%I">>alphabet2.txt  
if !zeile_nr!==49 @echo "v=%%I">>alphabet2.txt  
if !zeile_nr!==50 @echo "w=%%I">>alphabet2.txt  
if !zeile_nr!==51 @echo "x=%%I">>alphabet2.txt  
if !zeile_nr!==52 @echo "y=%%I">>alphabet2.txt  
if !zeile_nr!==53 @echo "z=%%I">>alphabet2.txt  
if !zeile_nr!==54 @echo "0=%%I">>alphabet2.txt  
if !zeile_nr!==55 @echo "1=%%I">>alphabet2.txt  
if !zeile_nr!==56 @echo "2=%%I">>alphabet2.txt  
if !zeile_nr!==57 @echo "3=%%I">>alphabet2.txt  
if !zeile_nr!==58 @echo "4=%%I">>alphabet2.txt  
if !zeile_nr!==59 @echo "5=%%I">>alphabet2.txt  
if !zeile_nr!==60 @echo "6=%%I">>alphabet2.txt  
if !zeile_nr!==61 @echo "7=%%I">>alphabet2.txt  
if !zeile_nr!==62 @echo "8=%%I">>alphabet2.txt  
if !zeile_nr!==63 @echo "9=%%I">>alphabet2.txt  
set /a zeile_nr+=1
)
del "alphabet.txt"  
for /F "delims=" %%I in (alphabet2.txt) do @echo\%%~I>>"alphabet.txt"  
del "alphabet2.txt"  

set "ctext=ctext.txt"  
for /f "delims=" %%I in (ktext.txt) do set text=!text!_%%I  
set text=%text:~1%_
set "alphabet=alphabet.txt"  
if exist %ctext% del %ctext%

set "Code="  
:Loop_codieren2
if "%Text%"=="" goto :fertig  
set "Char=%Text:~,1%"  
if "%Char%"=="_" goto naechste_zeile  
for /f "tokens=1-2 delims==" %%i in ('findstr /c:"%Char%=" "%alphabet%"') do set "CodeChar=%%j"  
if not defined CodeChar (echo "%Char%" nicht gefunden! & goto :fertig)  
set "Text=%Text:~1%"  
set "Code=%Code%%CodeChar%"  
goto :Loop_codieren2

:naechste_zeile
echo\%Code%>>"%ctext%"  
set "Code="  
set "Text=%Text:~1%"  
goto loop_codieren2

:fertig
del alphabet.txt
if exist "ktext.txt" del "ktext.txt"  
ren "ctext.txt" "ktext.txt"  
pause

Hoffentlich funktioniert alles - Das was ich testete funktionierte einwandfrei
Verbesserungsvorschläge sind gerne gesehen(Wenn jemand was mit meiner unübersichtlichen Arbeit anfangen kann)

Grüsse

Mathe172