ignos83
Goto Top

Zahlenpaare in txt file umdrehen mit Hilfe von Batch

Hallo zusammen, ich hoffe auf eure Unterstützung. Ich lese mit hilfe einer Batch einen bestimmten Wert aus der Registry aus. Dieser wird in ein txt File gespeichert. Mein Problem ist, die Reihenfolge des Wertes muss noch verändert werden. Der gespeicherte Wert sieht folgender Weise aus.

12345678

Jetzt bräuchte ich eine Batch kommando was daraus folgendes macht:

21 43 65 87

d.h. nur die zahlenpaare drehen (ohne leerzeichen, dient nur der veranschaulichung). Hat da jemand vielleicht eine Idee wie man sowas mit Batch kurz und schmerzhaft realisieren kann?

Content-Key: 262847

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

Printed on: April 16, 2024 at 17:04 o'clock

Mitglied: 114757
Solution 114757 Feb 09, 2015 updated at 12:28:16 (UTC)
Goto Top
@echo off & setlocal ENABLEDELAYEDEXPANSION
set zahl=12345678
call :switch zahl_neu %zahl%
echo %zahl_neu%
goto :eof


REM ------- FUNKTIONEN --------
:switch
call :strLength strLen "%~1"  
set /a strLen=%strLen%-2
for /L %%a in (0 2 %strLen%) DO @(
	set /a pos=%%a
	set /a cnt=!pos!+1
	call set new=!new!%%zahl:~!cnt!,1%%%%zahl:~!pos!,1%%
)
set "%~1=!new!"  
goto :eof


:strLength
set "#=%~2"  
set length=0
:stringLengthLoop
if defined # (set #=%#:~1%&set /A length += 1&goto stringLengthLoop)
set "%~1=%length%"  
goto :eof
Gruß jodel32
Member: ignos83
ignos83 Feb 09, 2015 at 12:31:26 (UTC)
Goto Top
Cool Danke. Habe es jetzt so für mich gelöst. Deine Antwort brauche ich aber bei einem anderm Problem.
for /f "tokens=2*" %%a in ('REG QUERY "%var2%\Device Parameters" /v EDID') do set "ID=%%~b"  

Set ID1=%ID:~30,2%
Set ID2=%ID:~28,2%
Set ID3=%ID:~26,2%
Set ID4=%ID:~24,2%

echo =%ID1%%ID2%%ID3%%ID4%>>%tmpini%
Ich greife die Zahl schon beim speichern in die txt in der richtigen Reihenfolge ab. Ist zwar nicht ganz elegant. Aber bei 8 Ziffern verschmerzbar.