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-ID: 570395

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

Ausgedruckt am: 22.11.2024 um 03:11 Uhr

143728
143728 08.05.2020 um 11:50:00 Uhr
Goto Top
set "name=!name:~0,-6!"  
NikosLykos
NikosLykos 08.05.2020 um 12:04:18 Uhr
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
Heinze
Heinze 09.05.2020 um 10:46:31 Uhr
Goto Top
Hay cabrinha

danke für die Hilfe,

Klappt wunderbar.

LG Heinze