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 enabledelayedexpansion
set “DATA=%*
:loop
set REVDATA=%REVDATA%%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 Kommandozeilenargumente werden in einer Variablen gespeichert und dann Zeichen für Zeichen auseinandergekommen. 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.