Batch-Tricks: Text umdrehen

Wenn es etwas gibt, was die Windows-Kommandozeile (cmd.exe) ganz gut kann (außer das Starten anderer Programme), dann ist das Verarbeiten von Zeichenfolgen. Nicht gerade auf Perls Niveau, aber sicher schon angenehmer zu nutzen als die C-Standardbibliothek (Reguläre Ausdrücke lassen wir hier mal weg).

Ich spielte nur ein wenig herum und heraus kam folgendes:
@echo off
setlocal enableextensions enabledelayedex­pansion
set „DATA=%*
:loop
set REVDATA=%REVDA­TA%%DATA:~-1%
set DATA=%DATA:~0,–1%
if defined DATA goto loop
echo %REVDATA%
endlocal
Relativ einfach, wie üblich. Das obligatorische setlocal mit den üblichen Optionen (ich setze das eigentlich schon aus Gewohnheit fast immer, egal ob ich es brauche oder nicht). Alle Kommandozeile­nargumente werden in einer Variablen gespeichert und dann Zeichen für Zeichen auseinanderge­kommen. Sobald der Orignaltext leer ist, können wir aufhören und das Resultat ausgeben.

Und es funktioniert sogar mit Unicode:

T:\>reverse ↔¾Ω∞()‡‼ αβγδ да ◙
◙ ад δγβα ‼‡)(∞Ω¾↔

Kommentare

Neuen Kommentar abgeben

The content of this field is kept private and will not be shown publicly.