heinze
Goto Top

FOR- F Schleife in Verbindung mit "Offset"

OS = WIN 10 Prof

Hallo Leute

ich habe eine Liste (muster.txt) mit Einträgen die immer nach dem selben Schema aufgebaut sind

Berger Franz 85555
Huber Kurt 84441
Karl Franz Musterstatt 89999
Georg Maria Oberprumpftel Hamburg 98888

Und nun muss ich diese Liste neu erstellen und dabei sollen die letzten 6 Zeichen ersatzlos entfallen.

For /F und die Funktion :~0,6% kommen mir in den Sinn:

@echo off
setlocal EnableDelayedExpansion

set Liste=D:\muster.txt
Set Ziel=D:\musterneu.txt
set name=NIX

for /f "tokens=* delims=;" %%i in (%Liste%) do (  
	set name=%%i
	echo inhalt vom.. %%i
	set name=!name!:~0,6%
	echo !name! >> %Ziel%
)

So erhalte ich aber nur Berger Franz 85555:~0,6 im %Ziel%

Den Umweg über die Variable %name% nehme ich nur weil ichs mit Echo %%i:~0,6% auch nicht geschafft habe.
Der Delims=; ist nur Sicherheitshalber damit nicht die Standardwerte für Delims=Leer und TAB greifen können.
Die Option "usebackq" hat mich auch nicht erleuchtet.

Wo liegt hier nun der Fehler? gehts denn überhaupts mit dem :~0,6% in einer For-Schleife?
im Tutorial Link find ich da auch nichts dazu.
Die Zeile 10 ist nur als Überprüfung für mich gedacht und kommt dann raus

Was mach ich denn hier falsch?

Danke für Eure Hilfe
Gruß Heinze

Content-Key: 570395

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

Printed on: May 6, 2024 at 13:05 o'clock

Mitglied: 143728
143728 May 08, 2020 at 09:50:00 (UTC)
Goto Top
set "name=!name:~0,-6!"  
Member: NikosLykos
NikosLykos May 08, 2020 at 10:04:18 (UTC)
Goto Top
Hallo Heinze,

weiter Infos dazu findest du hier: How-to: Extract part of a variable (substring)

In der Schleife statt der %-Zeichen dann !-Zeichen.


Gruß Klaus
Member: Heinze
Heinze May 09, 2020 at 08:46:31 (UTC)
Goto Top
Hay cabrinha

danke für die Hilfe,

Klappt wunderbar.

LG Heinze