tobibot
Goto Top

BATCHDATEI - Variable unter "echo" nicht angezeigt

Hey, ich bin neu hier und habe gleich mal eine Frage:

Ich bin Batch-Neuling und arbeite gerade an einem Projekt, das wahrscheinlich total unprofesionell, unübersichtlich, etc erscheint...
Es ist aber auch meine erste komplexere Batchdatei, also bitte um Nachsicht ;)

Der Sinn:
Ich will allen Zeilen einer .txt eine Variable zuordnen (enthält einen Pfad). Der User soll dann eine dieser Variablen auswählen, diese wird dann wiederum einer Variablen zugeordnet.

Die Frage:
Geht das überhaupt, eine Variable mit einer anderen Variable zu definieren? Wenn ja, was mache ich falsch?

Das Problem:
Die Variable wird unter
 echo %pfad% 
nicht angezeigt, kann also im weiteren Programm auch nicht verwendet werden...

Der Code:
@echo off
for /f "tokens=1,* delims=:" %%a in ('findstr /n . "paths.txt"') DO @(  
    set "var%%a=%%b"  
)
echo Gespeicherte Pfade: 1:%var1%, 2:%var2%, 3:%var3%, 4:%var4%, 5:%var5%, 6:%var6%
echo Waehle den Pfad, indem du die Nummer eingibts und mit [ENTER] bestaetigst!

SET /p alterpfad=""  
     if alterpfad == 1  goto var1
:var1	set pfad=%var1%
	goto :END

     if alterpfad == 2  goto var2
:var2	set pfad=%var2%
	goto :END

     if alterpfad == 3  goto var3
:var3	set pfad=%var3%
	goto :END

     if alterpfad == 4  goto var4
:var4	set pfad=%var4%
	goto :END

     if alterpfad == 5  goto var5
:var5	set pfad=%var5%
	goto :END

     if alterpfad == 6  goto var6
:var6	set pfad=%var6%
	goto :END



:END
echo Arbeitsverzeichnis:%pfad%
pause

Ich hoffe jemand von euch kann mir helfen!

PS: Ich bin Neuling und erst 14, also dementsprechend mit dem Fachvokabular zurückhalten ;)

Content-Key: 287220

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

Printed on: April 23, 2024 at 09:04 o'clock

Member: rubberman
Solution rubberman Oct 31, 2015 updated at 20:18:18 (UTC)
Goto Top
Hallo TobiBot, willkommen im Forum.

Eine Doppelpunkt am Anfang einer Zeile markiert ein Label. Das Label wird bis zum ersten Leerzeichen ausgewertet (das ist der Name des Labels), alles was danach kommt wird ignoriert. Deine SET Befehle müssen also in die jeweils nächste Zeile.

Grüße
rubberman
Member: TobiBot
TobiBot Oct 31, 2015 at 20:15:54 (UTC)
Goto Top
Danke für deine schnelle Antwort!
Gleich ausprobiert, funktioniert endlich :D

Wirklich ein blöder Fehler, der mir da passiert ist... Jetzt weiß´ ichs ;)
Member: Pjordorf
Pjordorf Nov 01, 2015 updated at 18:59:54 (UTC)
Goto Top
Hallo,

Zitat von @TobiBot:
Wirklich ein blöder Fehler, der mir da passiert ist... Jetzt weiß´ ichs ;)
Hört sich so an als wenn du es gar nicht wusstest face-smile
Da helfen oftmals die Handbücher weiter um dort nachzulesen wie in welcher "Sprache" welche Syntax gilt. Nur weil es in MS-DOS so geht muss es nicht in CP/M oder OS/2 oder innerhalb eines Win 10 Kommando Fensters grundsätzlich gleich sein. Oftmals ja, aber es gibt auch Unterschiede. Da hilft dann zu wissen wie die Syntax lautet um solche Flüchtigkeitsfehler zu umgehen oder aufzustöbern.

Gruß,
Peter
Member: AnkhMorpork
AnkhMorpork Nov 03, 2015 at 11:38:44 (UTC)
Goto Top
Man kann beflissentlich darüber streiten, ob es Sinn macht, sich heute noch ins batchen einzuarbeiten. Die Zukunft heißt eher Powershell.
Das nur mal als Anregung zum Nachdenken.

Good luck

Ankh