Ansicht:   

#347053

silbersurfer

16.08.2013, 11:26:23

Problem mit Batch (pc.coding)

Hallo Leute

Kann mir mal bitte jemand mit folgenden Batch helfen.

for /f "usebackq tokens=1-3 delims=;" %%a in ("Daten.csv") do  @(
echo %%a>Text1.txt
echo %%b>Text2.txt
SET var=%%c
echo %var:~2,5%>Teiltext3.txt
Pause
)




%%a und %%b machen ja keine Schwierigkeiten. Aber dann das mit %%c. Da soll ja dann an dritter Stelle ein Text gelesen werden. Und von dem Text soll ab der 2.Stelle beginnend 5 Zeichen verwendet werden und in Teiltext3.txt geschoben werden. Also wenn ich im CMD-Fenster den Namen des Batches eingebe und Enter drücke klappt es beim ersten Mal nicht. Aber beim zweiten bzw. weiter Male wird der Teiltext in die Datei geschoben. Wenn ich aber jetzt einen Doppelklick auf die Batchdatei mache klappt es nie, das der Teiltext in die Datei geschoben wird. Wie könnt ihr auch dieses Phänomen erklären. Oder kann man was am Batch ändern bzw. verbessern, das es besser klappt auch mit Doppelklick.

Gruß

#347055

Manfred H

16.08.2013, 13:02:10

@ silbersurfer

Problem mit Batch

> Hallo Leute
>
> Kann mir mal bitte jemand mit folgenden Batch helfen.
>
>

for /f "usebackq tokens=1-3 delims=;" %%a in ("Daten.csv") do  @(
> echo %%a>Text1.txt
> echo %%b>Text2.txt
> SET var=%%c
> echo %var:~2,5%>Teiltext3.txt
> Pause
> )
> 


>


Muss hier nicht ein % weg :SET var=%%c

SET var=%c

#347059

silbersurfer

16.08.2013, 13:56:19

@ Manfred H

Problem mit Batch

Danke für die Antwort. Aber dann klappts überhaupt nicht.
Zum Testen könnt ihr ja mal eine Daten.csv anlegen.
z.B. wie folgt den Text in Textdatei rein, speichern.

xyText1abc;tuText2def;opText3ghij




>
> Muss hier nicht ein % weg :SET var=%%c
>
> SET var=%c

#347155

silbersurfer

18.08.2013, 10:53:27

@ Manfred H

Problem mit Batch

Hallo

Hab jetzt doch eine Lösung gefunden  :ok: . Hat was mit Aktivierung von
"verzögerter Erweiterung von Umgebungsvariablen" zu tun.
Batch nachfolgend funktioniert bei mir.

SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
for /f "usebackq tokens=1-3 delims=;" %%a in ("Datei.csv") do (
echo %%a>>Text1.txt
echo %%b>>Text2.txt
SET var=%%c
echo !var:~2,5!>>Teiltext3.txt
echo
)
Pause


Gruß

#347193

Manfred H

18.08.2013, 20:12:32

@ silbersurfer

Problem mit Batch

Danke für den Hinweis.
Was auch immer das ist.
Ich glaube aber schon das ich in der Vergangenheit ab und zu mal wohl so ein Problem in meinen "Einfachbatch" hatte. Nur kam ich nie zu einer Fehlerbehebung.

Ansicht:   
Auf unserer Web-Seite werden Cookies eingesetzt, um diverse Funktionalitäten zu gewährleisten. Hier erfährst du alles zum Datenschutz