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!*
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
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: 23.11.2024 um 00:11 Uhr
20 Kommentare
Neuester Kommentar
Aloha,
1.Bitte Codeformatierung nutzen
2.
3. Schau' noch einmal
3. choice = wie?
greetz André
P.S.:
1.
2.
if /i
erspart dir einige Abfragen3. Schau' noch einmal
if /?
an und füge vergessene Klammern hinzu3. 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))
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?^^
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 ...
Aloha,
genau so etwas liebe ich ... plötzlich ist es deutlich anders
Achso und:
Da
greetz André
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é
...
aha ok, du bist der Profi, danke, bin raus - aber hier noch prompt-Auszug mit Zollzeichen und
aha ok, du bist der Profi, danke, bin raus - aber hier noch prompt-Auszug mit Zollzeichen und
set Wie
in jeweiligen SprungE:\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 . . .
@Skyemugen
Machst Du Urlausbvertretung für T-Mo?
@Computernoob
Ich würde das (ungetestet) etwa so anlegen:
... und natürlich macht es einen Unterschied, ob Du beim Vergleich den einen Wert ohne und den anderen mit "Zollzeichen" schreibst ...
Grüße
bastla
Machst Du Urlausbvertretung für T-Mo?
@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
Grüße
bastla
Hi !
[ot]
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...
[/ot]
mrtux
[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.
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...
[/ot]
mrtux
Hallo Computernoob!
Andererseits ist für mich das Thema wirklich nicht so wichtig - daher soll's das von mir gewesen sein.
Grüße
bastla
Was soll an diesem Text schlimm sein?
Schlimm ist relativ - aber da wir hier (zumindest meistens ) 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
Hi !
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...
Wer sich daran stört, kann ja meine Kommentare ignorieren... ;-P
mrtux
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...
Wer sich daran stört, kann ja meine Kommentare ignorieren... ;-P
mrtux