| 

.NET C# Java Javascript Exception

2
Hallo leute,

ich hab da mal ein Problem, ich möchte eine Art "Datenbank" machen die nach dem Alphabet sortiert ist und mit Batch abgerufen werden kann, also hier der Code schnippsel:

@echo off
set /p objekt=[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z]
echo [A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z]>>NUL


if "%objekt%"=="A" goto A
if "%objekt%"=="B" goto B
if "%objekt%"=="C" goto C
if "%objekt%"=="D" goto D
if "%objekt%"=="E" goto E
if "%objekt%"=="F" goto F
if "%objekt%"=="G" goto G
if "%objekt%"=="H" goto H
if "%objekt%"=="I" goto I
if "%objekt%"=="J" goto J
if "%objekt%"=="K" goto K
if "%objekt%"=="L" goto L
if "%objekt%"=="M" goto M
if "%objekt%"=="N" goto N
if "%objekt%"=="O" goto O
if "%objekt%"=="P" goto P
if "%objekt%"=="Q" goto Q
if "%objekt%"=="R" goto R
if "%objekt%"=="S" goto S
if "%objekt%"=="T" goto T
if "%objekt%"=="U" goto U
if "%objekt%"=="V" goto V
if "%objekt%"=="W" goto W
if "%objekt%"=="X" goto X
if "%objekt%"=="Y" goto Y
if "%objekt%"=="Z" goto Z



:A
type A.dat | more
pause
exit
:B
type B.dat
pause
exit
:C
type C.dat | more
pause
exit
:D
type D.dat | more
pause
exit
:E
type E.dat | more
pause
exit
:F
type F.dat | more
pause
exit
:G
type G.dat | more
pause
exit
:H
type H.dat | more
pause
exit
:I
type I.dat | more
pause
exit
:J
type J.dat | more
pause
exit
:K
type K.dat | more
pause
exit
:L
type L.dat | more
pause
exit
:M
type M.dat | more
pause
exit
:N
type N.dat | more
pause
exit
:O
type O.dat | more
pause
exit
:P
type P.dat | more
pause
exit
:Q
type Q.dat |more
pause
exit
:R
type R.dat | more
pause
exit
:S
type S.dat | more
pause
exit
:T
type T.dat | more
pause
exit
:U
type U.dat | more
pause
exit
:V
type V.dat | more
pause
exit
:W
type W.dat | more
pause
exit
:X
type X.dat | more
pause
exit
:Y
type Y.dat | more
pause
exit
:Z
type Z.dat | more
pause
exit


Ich weiß ein ziemlich großer "Schnipsel" mein Problem ist das beim auswählen aller Buchstaben immer die Daten von A.dat angezeigt werden. Kann mir jemand helfen damit ich auch auf diese Weise die anderen Dateien B.dat....Z.dat lesen kann

Danke im vorraus, vicon
News:
13.07.2011
vicon 308 1 8
3 Antworten
1
So wie Du es schreibst funktioniert es nur mit Großbuchstaben, sprich Dein Skript erwartet A und nicht a.
Probiere folgendes:

if /i "%objekt%"=="A" goto A
if /i "%objekt%"=="B" goto B
if /i "%objekt%"=="C" goto C
...


Nachtrag:
/i : Forces string comparisons to ignore case. You can use /i on the string1==string2 form of if. These comparisons are generic, in that if both string1 and string2 are both comprised of all numeric digits, the strings are converted to numbers and a numeric comparison is performed.

Quelle
13.07.2011
Jaksa 4,0k 1 8
Jaksa 4,0k 1 8
Ohh danke sehr, du hast mir sehr bei meinem Problem geholfen. Vielen vielen dank

vicon
vicon 13.07.2011
1
Hallo,
da würde ich eher choice vorschlagen:

@echo off
choice /c:ABC "Auswahl:"
if errorlevel=3 goto C
if errorlevel=2 goto B
if errorlevel=1 goto A
goto ende

:C
type C.dat | more
pause
exit

:B
type B.dat | more
pause
exit

:A
type A.dat | more
pause
exit

:ende


choice ist allerdings nicht bei jeder Windows-Version enthalten. Kann dann aber leicht aus den Resource-Kits kopiert werden.

Alternativ könnte ich mir auch VBSkript oder Powershell vorstellen.

Liebe Grüße, Tom
13.07.2011
Metal-Frog 946 1 7
auch an dich ein dank, auf choice habe ich garnicht gedacht
vicon 13.07.2011
0
Hallo vicon,

sollte eigentlich funktionieren.
Auch ein großes "B" eingegeben?
Andernfalls solltest du deine if´s auf "B" oder "b" abändern.

Gruß

CodeSniffer
13.07.2011
CodeSniffer 1,3k 4 9
Hallo CodeSniffer,
danke für deine schnelle Antwort, aber es funktioniert leider nicht.
Hast du versucht den Code in eine Batch zu packen
und zu testen ob es bei dir funktioniert
vicon 13.07.2011
@Vicon: Ja, habe ich probiert und funktioniert auch.
Es liegt definitiv an der Groß- Kleinschreibung.
Die Inhalte der Dateien unterscheiden sich oder?
CodeSniffer 13.07.2011

Stelle deine Datenbank-Frage jetzt!