myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Batch Variable in Varible (https://mygully.com/showthread.php?t=2134222)

Julian57 06.10.10 13:23

Batch Variable in Varible
 
Hallo,
brauche für die Schule einen kleinen Batch,
Habe beim schreiben ein Problem festgestellt.
Und zwar ich würde gerne den Inhalt einer Variable in einer Anderen speichern.
Das also der Wert(in dem fall ein Wort) aus der Varible x in y übertragen wird.
Ist sowas möglich?
Bitte schreibt schnell zurück!!!!

mfg

Julian57

Benni1000 06.10.10 14:13

Also du willst x in y übertragen?
%y% == %x%
müsste funzen^^

Julian57 06.10.10 14:23

Hallo,
Funzt nicht!!!
hab das ganze mal mit folgenden S***** getestet:

@echo off
set y=0
:anfang
set x=10
set %x%==%y%
echo %y%
pause
cls
goto anfang

Als Resultat gibt der Batch eine "0" aus.
Also geht es nicht sonst würde es eine "10" ausgeben!!!
Bitte helft mir!!!!!

mfg

Julian57

PornoPenner 06.10.10 14:49

(Riecht so nach Troll...)

Versuche es mal mit weniger Ausrufezeichen und benutzte Deinen Verstand...
Lies Dir Deinen Code nochmals durch, dann findest Du den Fehler!

Was passiert wenn Du "echo %x%" ausgeben lässt?
Das sollte Dich selbst auf die Lösung bringen.
Falls nicht, dann ist Programmieren absolut nichts für Dich!

Julian57 06.10.10 15:02

Hallo,
1. Ich weiß was passiert was wenn ich %x% ausgebe lasse,dann gibt er mir 10 aus,
aber wie du vlt schon bemerkt hast ist mein Ziel die eine Variable in der
Anderen zu übertragen und nicht das Problem anders zu umgehen!!!!
2.Es geht auch nicht mit anderen Satzzeichen.Also %x%=%y%
3.Bitte postet nicht so uneffizient Antworten!!!!!!!!

Bitte helft mir!!!!!

mfg

Julian57

PornoPenner 06.10.10 15:07

Haha... selten schlechter Troll :)

Kann wohl geschlossen werden!

Julian57 06.10.10 15:23

Hallo,
1. das S***** oben war nur ein Test S*****
2. Ich will ein S***** schreiben was mir in zufälliger Reinfolge definierte Begriffe
ausgibt.
Mein Problem ist dabei das kein Begriff dopppelt ausgegeben werden soll
Hier mal das S*****:

@echo off
set Zähler= 1
:Anfang
Set /a zz=%random% %% 8 + 1
If %zz%==1 (set begriff=1Begriff)
If %zz%==2 (set begriff=2Begriff)
If %zz%==3 (set begriff=3Begriff)
If %zz%==4 (set begriff=4Begriff)
If %zz%==5 (set begriff=5Begriff)
If %zz%==6 (set begriff=6Begriff)
If %zz%==7 (set begriff=7Begriff)
If %zz%==8 (set begriff=8Begriff)
If %Zähler%==1 (set folge1==%begriff%) //das geht nicht
If %Zähler%==2 (set folge2==%begriff%) //das geht nicht
If %Zähler%==3 (set folge3==%begriff%) //das geht nicht
If %Zähler%==4 (set folge4==%begriff%) //das geht nicht
If %Zähler%==5 (set folge5==%begriff%) //das geht nicht
If %Zähler%==6 (set folge6==%begriff%) //das geht nicht
If %Zähler%==7 (set folge7==%begriff%) //das geht nicht
If %Zähler%==8 (set folge8==%begriff%) //das geht nicht
If %Zähler%==9 (set %begriff%=keine Begriffe mehr vorhanden!!!)
If %Zähler%==10 (exit)
If %begriff%==%folge1% (set /a Zähler=%Zähler%-1 & cls & goto Anfang)
If %begriff%==%folge2% (set /a Zähler=%Zähler%-1 & cls & goto Anfang)
If %begriff%==%folge3% (set /a Zähler=%Zähler%-1 & cls & goto Anfang)
If %begriff%==%folge4% (set /a Zähler=%Zähler%-1 & cls & goto Anfang)
If %begriff%==%folge5% (set /a Zähler=%Zähler%-1 & cls & goto Anfang)
If %begriff%==%folge6% (set /a Zähler=%Zähler%-1 & cls & goto Anfang)
If %begriff%==%folge7% (set /a Zähler=%Zähler%-1 & cls & goto Anfang)
If %begriff%==%folge8% (set /a Zähler=%Zähler%-1 & cls & goto Anfang)
echo.
echo Zufälliger Begriff: %begriff%
echo.
set /a Zähler=%Zähler%+1
cls
goto Anfang

Hoffe ihr versteht was ich will.
Wenn ihr eine bessere Lösung kennt postet sie mir!!!
Bitte antwortet schnell!!!

mfg

Julian57

urga 06.10.10 18:47

Code:

C:\Users\Urga>set x=asdasdad

C:\Users\Urga>echo %x%
asdasdad

C:\Users\Urga>set y=%x%

C:\Users\Urga>echo %y%
asdasdad

C:\Users\Urga>set y=%x%XXX

C:\Users\Urga>echo %y%
asdasdadXXX


Julian57 07.10.10 14:15

Hallo,
habs jetzt mal anders versucht
Klappt aber leider bisher auch noch nicht. Muss irgend einen Fehler in das S***** geschrieben haben, ich finde ihn aber nicht selbst.
Naja ergibt mir jetzt keine doppelten Begriffe aus,
aber dafür gibt er mit wenn er eine Doppelte findet gar nichts mehr aus.
Hab keine Ahnung warum!!!
Hier erst mal das S*****:

@echo off
set y1=0
set y2=0
set y3=0
set y4=0
set y5=0
set y6=0
set y7=0
set y8=0
set Zähler=0
:1
cls
set /a zz=%random% %% 8 + 1
If %zz%==1 (set x=begriff1 & set /a y1=%y1%+1)
If %zz%==2 (set x=begriff2 & set /a y2=%y2%+1)
If %zz%==3 (set x=begriff3 & set /a y3=%y3%+1)
If %zz%==4 (set x=begriff4 & set /a y4=%y4%+1)
If %zz%==5 (set x=begriff5 & set /a y5=%y5%+1)
If %zz%==6 (set x=begriff6 & set /a y6=%y6%+1)
If %zz%==7 (set x=begriff7 & set /a y7=%y7%+1)
If %zz%==8 (set x=begriff8 & set /a y8=%y8%+1)
If %y1% GEQ 2 (goto 1) //hier ist irgendwo der Fehler
If %y2% GEQ 2 (goto 1) //hier ist irgendwo der Fehler
If %y3% GEQ 2 (goto 1) //hier ist irgendwo der Fehler
If %y4% GEQ 2 (goto 1) //hier ist irgendwo der Fehler
If %y5% GEQ 2 (goto 1) //hier ist irgendwo der Fehler
If %y6% GEQ 2 (goto 1) //hier ist irgendwo der Fehler
If %y7% GEQ 2 (goto 1) //hier ist irgendwo der Fehler
If %y8% GEQ 2 (goto 1) //hier ist irgendwo der Fehler
echo.
echo %x%
echo.
set /a Zähler=%Zähler%+1
if %Zähler%==8 (goto 2)
pause
goto 1
:2
cls
echo.
echo keine Begriffe mehr vorhanden
echo.
pause
exit

Ich hoffe ihr könnt mir helfen

mfg

Julian57


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:16 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.