if wert in variable dann - wenn nicht - if anderer wert in variable dann
Hallo,
innerhalb eines Scriptes erhalte ich einen Inhalt aus Variable %%n. %%n kann diverse Buchtaben RWECMF (Netware dateisystemrechte) enthalten.
Ich möchte jetzt abhängig von diesen Buchstaben entscheiden, ob es ein Lese- oder Schreibrecht ist
da ich den kompletten Vor und Nachbau bereits in batch (cmd) gemacht habe suche ich auch eine passende BatchLösung. If instr funktioniert ja nur unter VBS - richtig ?
Die Logik müsste so aussehen ..
Wenn in %%N ein W enthalten dann set Variable Gruppentyp=Schreibrechte
Wenn in %%N ein kein W enthalten , jedoch ein R dann set Variable Gruppentyp=Leserechte
innerhalb eines Scriptes erhalte ich einen Inhalt aus Variable %%n. %%n kann diverse Buchtaben RWECMF (Netware dateisystemrechte) enthalten.
Ich möchte jetzt abhängig von diesen Buchstaben entscheiden, ob es ein Lese- oder Schreibrecht ist
da ich den kompletten Vor und Nachbau bereits in batch (cmd) gemacht habe suche ich auch eine passende BatchLösung. If instr funktioniert ja nur unter VBS - richtig ?
Die Logik müsste so aussehen ..
Wenn in %%N ein W enthalten dann set Variable Gruppentyp=Schreibrechte
Wenn in %%N ein kein W enthalten , jedoch ein R dann set Variable Gruppentyp=Leserechte
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 97476
Url: https://administrator.de/contentid/97476
Ausgedruckt am: 04.11.2024 um 22:11 Uhr
5 Kommentare
Neuester Kommentar
Servus,
Blöcken mitgibst
Ansonsten vesrtehe ich deine Frage so
... oder meinst du %n% kann eine beliebige Buchstaben Kombination aus "RWECMF" usw haben?
Gruß
da ich den kompletten Vor und Nachbau bereits in batch (cmd) gemacht habe
würde ich es schön finden - wenn du uns diesen Teil einfach mal in
Ansonsten vesrtehe ich deine Frage so
if %n% =="R" then echo Leserechte
... oder meinst du %n% kann eine beliebige Buchstaben Kombination aus "RWECMF" usw haben?
Gruß
Moin jschneider,
ich versuch mich mal vom CMD-Prompt aus ranzutasten...
Diese Mimik in einer Batchdatei weitergesponnen (Annahme. in %NWReitz% sind die NetWare-Rechte):
[ungetestete Montagsskizze]
Natürlich kannst Du jeweils direkt der Variablen-"Erkennung" sofort in einen Call-Block springen:
Grüße
Biber
ich versuch mich mal vom CMD-Prompt aus ranzutasten...
>set NWReitz="RW"
(=12:37:45 D:\temp=)
>for %i in (R W E C M F) do @echo "%NWReitz%"|find /i "%i">nul || echo %i is nich drin
E is nich drin
C is nich drin
M is nich drin
F is nich drin
(=12:37:55 D:\temp=)
>for %i in (R W E C M F) do @echo "%NWReitz%"|find /i "%i">nul && echo %i is drin
R is drin
W is drin
Diese Mimik in einer Batchdatei weitergesponnen (Annahme. in %NWReitz% sind die NetWare-Rechte):
for %%i in (R W E C M F) do set "%%i_Recht=0"
REM nach dieser Schleife ist R_Recht=0; W_Recht=0; ....F_Recht=0 ...
for %%i in (R W E C M F) do (
echo "%NWReitz%"|find /i "%%i">nul && Set "%%i_Recht=1"
)
If %R_Recht% == 1 machdies
If %W_Recht% == 1 machdas
If %E_Recht% == 1 call E_RechtKrams
....
Natürlich kannst Du jeweils direkt der Variablen-"Erkennung" sofort in einen Call-Block springen:
...
for %%i in (R W E C M F) do (
echo "%NWReitz%"|find /i "%%i">nul && Call: %%i_Verarbeitung
)
:goto :eof
:R_Verarbeitung
....<bla>
goto :eof
:W_Verarbeitung
....<bla>
goto :eof
Grüße
Biber