computernoob
Goto Top

Batch Problem

Hallo zusammen,

ich hab mir eine Batch gemacht, allerdings bleibt diese an dieser stelle stehen, und ich weiß nicht wieso.

Problem: Er bringt mir immer Eingetreten als Meldung.

Ich hoffe Ihr könnt mir helfen. *Ist nur ein ausschnitt!*

set /p Wie=Ein- oder Austritt? 
if %Wie%=="Eintritt" goto Eingetreten  
if %Wie%=="eintritt" goto Eingetreten  
if %Wie%=="Eingetreten" goto Eingetreten  
if %Wie%=="eingetreten" goto Eingetreten  
if %Wie%=="Austritt" goto Ausgetreten  
if %Wie%=="austritt" goto Ausgetreten  
if %Wie%=="Ausgetreten" goto Ausgetreten  
if %Wie%=="ausgetreten" goto Ausgetreten  

:Eingetreten
set Wie=Eingetreten
set Wie1=eintreten

goto Weiter

:Ausgetreten
set Wie=Ausgetreten
set Wie1=austreten

goto Weiter

:Weiter
Kommentar vom Moderator Biber am 27.07.2011 um 12:27:35 Uhr
Beitrag verschoben von "Öööhmm...Windows?!?" nach "Batch & Shell"

Content-ID: 170503

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

Ausgedruckt am: 05.11.2024 um 00:11 Uhr

Skyemugen
Skyemugen 27.07.2011 um 12:17:23 Uhr
Goto Top
Aloha,

1. Bitte Codeformatierung nutzen
2. if /i erspart dir einige Abfragen
3. Schau' noch einmal if /? an und füge vergessene Klammern hinzu
3. choice = wie?

greetz André

P.S.:
:Abfrage
echo Bitte geben Sie 1 fuer Eintritt oder 2 fuer Austritt an
set /p "Wahl="  
if %Wahl%==1 (goto :Eingang) else (if %Wahl%==2 (goto :Ausgang) else (echo Ungueltige Eingabe! && goto :Abfrage))
Computernoob
Computernoob 27.07.2011 um 12:24:27 Uhr
Goto Top
Hallo Andrê,

an das hab ich auch schon gedacht... geht es überhaupt so wie ich es machen will, oder hab ich nur einen Code-Fehler?^^

Choice = Wie <-- Jup
Skyemugen
Skyemugen 27.07.2011 um 12:26:48 Uhr
Goto Top
Zitat von @Computernoob:
an das hab ich auch schon gedacht... geht es überhaupt so wie ich es machen will, oder hab ich nur einen Code-Fehler?^^

...
3. Schau' noch einmal if /? an und füge vergessene Klammern hinzu

Und wenn choice = wie ist, hoffe ich, dass wenigstens im Skript dann wie = choice ist oder if %wie% vorkommt ...
Computernoob
Computernoob 27.07.2011 um 12:28:36 Uhr
Goto Top
Es liegt zu 100% nicht an den Klammern face-wink

Jup eine "choice -> Wie" Zuweißung ist enthalten


PS: Kann es sein das diese Programmierart nur für ein Wort gedacht ist?
- Ich weiße dem %Wie% ja eig. schon "Ein- oder Austritt? " zu, und geb dann noch eine User Eingabe mit dazu...
Skyemugen
Skyemugen 27.07.2011 um 12:31:34 Uhr
Goto Top
Gut, dann arbeitest du mit Win 2000 oder Win 7 und hast choice als Befehl integriert, was dazu führt, dass du deine Wahl auf einen Nichtbefehl umbenennen solltest.
Würde eh nicht funktionieren

P.S.: Mahlzeit (außer Haus)
Computernoob
Computernoob 27.07.2011 um 12:32:29 Uhr
Goto Top
Zitat von @Skyemugen:
Gut, dann arbeitest du mit Win 2000 oder Win 7 und hast choice als Befehl integriert, was dazu führt, dass du deine Wahl
auf einen Nichtbefehl umbenennen solltest.

P.S.: Mahlzeit (außer Haus)

Windows Server 2003 SP 2face-smile

PS: Ich hab den Code oben mal angepasst, und alles genauer definiert..
Skyemugen
Skyemugen 27.07.2011 um 13:06:10 Uhr
Goto Top
Aloha,

genau so etwas liebe ich ... plötzlich ist es deutlich anders

if %Wie%=="Eintritt" goto Eingetreten ... wo sind jetzt hier die Zollzeichen um die Variable?

Achso und:

- Ich weiße dem %Wie% ja eig. schon "Ein- oder Austritt? " zu, und geb dann noch eine User Eingabe mit dazu...

Da set /p wird der Variable noch gar nichts zugewiesen, ohne Eingabe ist und bleibt sie nicht definiert/leer.

greetz André
Computernoob
Computernoob 27.07.2011 um 13:15:26 Uhr
Goto Top
Zitat von @Skyemugen:
Aloha,

genau so etwas liebe ich ... plötzlich ist es deutlich anders

if %Wie%=="Eintritt" goto Eingetreten ... wo sind jetzt hier die Zollzeichen um die Variable?

greetz André

Die Zollzeichen dürfen nix damit zu tun haben, die hab ich vor dem Post schon mal entfernt und brachte auch nix
Problem bleibt genau das selbe.
Skyemugen
Skyemugen 27.07.2011 um 13:18:57 Uhr
Goto Top
...

aha ok, du bist der Profi, danke, bin raus - aber hier noch prompt-Auszug mit Zollzeichen und set Wie in jeweiligen Sprung

E:\Skripte>set /p Wie=Ein- oder Austritt?
Ein- oder Austritt? Eintritt

E:\Skripte>if "Eintritt" == "Eintritt" goto Eingetreten

E:\Skripte>set Wie=Eingetreten

E:\Skripte>set Wie1=eintreten

E:\Skripte>set Wie
Wie=Eingetreten
Wie1=eintreten

E:\Skripte>pause
Drücken Sie eine beliebige Taste . . .
E:\Skripte>set /p Wie=Ein- oder Austritt?
Ein- oder Austritt? Austritt

E:\Skripte>if "Austritt" == "Eintritt" goto Eingetreten

E:\Skripte>if "Austritt" == "eintritt" goto Eingetreten

E:\Skripte>if "Austritt" == "Eingetreten" goto Eingetreten

E:\Skripte>if "Austritt" == "eingetreten" goto Eingetreten

E:\Skripte>if "Austritt" == "Austritt" goto Ausgetreten

E:\Skripte>set Wie=Ausgetreten

E:\Skripte>set Wie1=austreten

E:\Skripte>set Wie
Wie=Ausgetreten
Wie1=austreten

E:\Skripte>pause goto :eof
Drücken Sie eine beliebige Taste . . .
bastla
bastla 27.07.2011 um 14:03:24 Uhr
Goto Top
@Skyemugen
Machst Du Urlausbvertretung für T-Mo? face-wink
@Computernoob
Ich würde das (ungetestet) etwa so anlegen:
:Eingabe
set "Wie="  
set /p Wie=Ein- oder Austritt? 
if not defined Wie goto :Fehler
if /i "%Wie:~,1%"=="E" goto Eingetreten  
if /i "%Wie:~,1%"=="A" goto Ausgetreten  

:Fehler
echo\
echo Eingabe nicht ok - bitte wiederholen!
echo\
goto :Eingabe

:Eingetreten
set Wie=Eingetreten
set Wie1=eintreten
goto Weiter

:Ausgetreten
set Wie=Ausgetreten
set Wie1=austreten
goto Weiter

:Weiter
... und natürlich macht es einen Unterschied, ob Du beim Vergleich den einen Wert ohne und den anderen mit "Zollzeichen" schreibst ...

Grüße
bastla
Computernoob
Computernoob 27.07.2011 um 15:21:00 Uhr
Goto Top
Hallo Bastla,

das war die Lösung des Problem's, danke face-smile
if /i "%Wie:~,1%"=="E" goto Eingetreten
if /i "%Wie:~,1%"=="A" goto Ausgetreten

Zitat von @bastla:
... und natürlich macht es einen Unterschied, ob Du beim Vergleich den einen Wert ohne und den anderen mit
"Zollzeichen" schreibst ...

Ok, ich habs hald nur getestet und der Fehler blieb gleich, deshalb ging ich davon aus
mrtux
mrtux 27.07.2011 um 19:01:21 Uhr
Goto Top
Hi !

[ot]

Zitat von @Computernoob:
Die Zollzeichen dürfen nix damit zu tun haben, die hab ich vor dem Post schon mal entfernt und brachte auch nix
Problem bleibt genau das selbe.

Beim anderen Batch-Thread musst ich mich schon schwer beherrschen....Warum hört ihr eigentlich nicht auf die Leute die Ahnung davon haben? Man könnte es manchmal nicht mehr mit ansehen, wenn es nicht so unterhaltsam wäre... face-smile

[/ot]

mrtux
Computernoob
Computernoob 28.07.2011 um 10:10:58 Uhr
Goto Top
Zitat von @mrtux:
Hi !

[ot]

> Zitat von @Computernoob:
> ----
> Die Zollzeichen dürfen nix damit zu tun haben, die hab ich vor dem Post schon mal entfernt und brachte auch nix
> Problem bleibt genau das selbe.

Beim anderen Batch-Thread musst ich mich schon schwer beherrschen....Warum hört ihr eigentlich nicht auf die Leute die Ahnung
davon haben? Man könne es manchmal nicht mehr mit ansehen, wenn es nicht so unterhaltsam wäre... face-smile

[/ot]

mrtux


Die Zollzeichen waren in dem Fall nicht das einzige Problem, die hatte ich schon weggemacht und es änderte sich nix, der Fehler blieb GLEICH, wieso sollte ich das also nicht schreiben?... - Ich versteh eure Aufregung nicht ^^
Skyemugen
Skyemugen 28.07.2011 um 10:13:13 Uhr
Goto Top
Der Fehler sitzt vor dem Bildschirm, der ganze Käse hat mit Zollzeichen einwandfrei funktioniert, wenn du aber immer nur Brocken von ungenauen Fehlerdarstellungen hinwirfst und dann noch mit derartigen Aussagen unterstützt, solltest du dich nicht wundern.
bastla
bastla 28.07.2011 um 10:19:31 Uhr
Goto Top
Hallo Computernoob!
der Fehler blieb GLEICH, wieso sollte ich das also nicht schreiben?
Was Du geschrieben hast ("dürfen nix damit zu tun haben") klang nach Beratungsresistenz (abgesehen davon, dass es so auch nicht stimmte) ...

Grüße
bastla
Computernoob
Computernoob 28.07.2011 um 10:30:59 Uhr
Goto Top
Zitat von @bastla:
Hallo Computernoob!
> der Fehler blieb GLEICH, wieso sollte ich das also nicht schreiben?
Was Du geschrieben hast ("dürfen nix damit zu tun haben") klang nach Beratungsresistenz
(abgesehen davon, dass es so auch nicht stimmte) ...

Grüße
bastla

Hey Bastla,

Also Beratungsresistent bin ich nicht face-smile
Aber da ich kein Programmierer bin, wusste ich nicht das es nicht stimmt, und da ich es schon getestet habe, ging ich mal davon aus.
bastla
bastla 28.07.2011 um 10:38:12 Uhr
Goto Top
Hallo Computernoob!
Also Beratungsresistent bin ich nicht face-smile
Als unverbesserlicher Optimist war ich auch davon ausgegangen ... face-wink

Auch als Nicht-Programmierer kannst Du aber auf die Formulierung Deines Kommentars achten.

Grüße
bastla
Computernoob
Computernoob 28.07.2011 um 12:19:34 Uhr
Goto Top
Zitat von @bastla:
Hallo Computernoob!
> Also Beratungsresistent bin ich nicht face-smile
Als unverbesserlicher Optimist war ich auch davon ausgegangen ... face-wink

Auch als Nicht-Programmierer kannst Du aber auf die Formulierung Deines Kommentars achten.

Grüße
bastla

--> Die Zollzeichen dürfen nix damit zu tun haben, die hab ich vor dem Post schon mal entfernt und brachte auch nix
Problem bleibt genau das selbe. <--

Was soll an diesem Text schlimm sein? Ich versteh euch nicht, sry...
bastla
bastla 28.07.2011 um 13:51:57 Uhr
Goto Top
Hallo Computernoob!
Was soll an diesem Text schlimm sein?
Schlimm ist relativ - aber da wir hier (zumindest meistens face-wink) ziemlich genau lesen, fällt der Unterschied zwischen "dürfen" (Behauptung) und "dürften" (Vermutung) eben auf.

Andererseits ist für mich das Thema wirklich nicht so wichtig - daher soll's das von mir gewesen sein.

Grüße
bastla
mrtux
mrtux 29.07.2011 um 11:00:12 Uhr
Goto Top
Hi !

Zitat von @Computernoob:
Was soll an diesem Text schlimm sein? Ich versteh euch nicht, sry...

Mach dir keine Gedanken, da ist absolut nix Schlimmes dran!

Es geht mir persönlich nur darum, dass viele Fragesteller hier im Forum immer mit den Informationen geizen!

Die Kollegen hier im Forum, leisten die Hilfe ja freiwillig und zumeist in ihrer Freizeit, daher ist es schon wichtig, jedem Helfer so viel Infos wie möglich an die Hand zu geben, um dem Hilfesuchenden bei der Problemlösung möglichst effizient und schnell helfen zu können. Dabei ist es aber wichtig, dass die Informationen möglichst im RAW-Format bei den Helfern ankommen. Will sagen: Der Hilfesuchende sollte die Infos so an die Helfenden weitergeben wie sie sind und nicht wie sie der Hilfesuchende interpretiert. Die Interpretation von Fehlern kann nämlich auch hier im Forum stattfinden und das meist wesentlich effizienter, da alleine schon auf Grund der blossen Anzahl der Helfer, einfach mehr Erfahrung vorhanden ist, als wenn man alleine im stillen Kämmerlein vor sich hin interpretiert. Und da das hier bei fast jeder zweiten oder dritten Frage so ist, muss ich halt ab und zu mal meinen Senf loswerden. Wir Admins haben den ganzen Tag über nämlich auch noch andere Dinge zu tun z.B. arbeiten... face-wink

Wer sich daran stört, kann ja meine Kommentare ignorieren... ;-P

mrtux