Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

if wert in variable dann - wenn nicht - if anderer wert in variable dann

Frage Entwicklung Batch & Shell

Mitglied: jschneider

jschneider (Level 1) - Jetzt verbinden

22.09.2008, aktualisiert 14:50 Uhr, 4340 Aufrufe, 5 Kommentare

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
Mitglied: 60730
22.09.2008 um 11:18 Uhr
Servus,

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
Blöcken mitgibst

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ß
Bitte warten ..
Mitglied: jschneider
22.09.2008 um 11:49 Uhr
Zitat von 60730:
... oder meinst du %n% kann eine beliebige Buchstaben Kombination aus
"RWECMF" usw haben?
Gruß

Ja Genau - und sobald ein W enthalten ist soll halt ein Schreibrecht vorrausgesetzt werden, wenn W nicht enthalten ist soll geschaut werden, ob wenigstens ein R enthalten ist um in diesem Fall von einem Leserecht auszugehen

also am liebsten hätte ich ja aus VBS den "if instr", mit dem ich reinschaue und je nach enthaltenem wert weiter arbeiten kann


Den Ansatz, den ich gerade verfolge funktioniert nicht so wie ich möchte. Desweiteren habe ich das Gefühl viel zu Umständlich zu Arbeiten
01.
 for /f  %%x in ('echo %%n^|findstr "R"') do ( 
02.
  echo       -  %%n - leserechte vorhanden 
03.
  echo           
04.
  pause 
05.
  set qGruppentyp=lesen  
06.
07.
  
08.
  for /f  %%x in ('echo %%n^|findstr "W"') do ( 
09.
                            rem echo %%n|findstr "W">nul &&  
10.
  echo       -  %%n - schreibrechte vorhanden 
11.
  pause 
12.
  set qGruppentyp=schreiben  
13.
14.
 
15.
echo %qGruppentyp%
Nach dem Motto: schau erstmal ob ein R enthalten ist und definiere den Typ. Und nur wenn die gleiche Gruppe doch noch W-Rechte haben sollte definiere den Typ durch einen anderen Wert

blöd blöd

zumal ich es als if benötige
Bitte warten ..
Mitglied: jschneider
22.09.2008 um 12:11 Uhr
echo %%n|findstr "W"
if %Errorlevel%==0 (
echo Schreibrechte gefunden
) ELSE (

echo %%n|findstr "R"
if %Errorlevel%==0 (
echo Leserechte gefunden
)
)


bisher das beste was mir eingefallen ist
Bitte warten ..
Mitglied: Biber
22.09.2008 um 12:45 Uhr
Moin jschneider,

ich versuch mich mal vom CMD-Prompt aus ranzutasten...
01.
>set NWReitz="RW" 
02.
 
03.
(=12:37:45  D:\temp=) 
04.
>for %i in (R W E C M F) do @echo  "%NWReitz%"|find /i "%i">nul || echo %i is nich drin 
05.
E is nich drin 
06.
C is nich drin 
07.
M is nich drin 
08.
F is nich drin 
09.
 
10.
(=12:37:55  D:\temp=) 
11.
>for %i in (R W E C M F) do @echo  "%NWReitz%"|find /i "%i">nul && echo %i is drin 
12.
R is drin 
13.
W is drin
Diese Mimik in einer Batchdatei weitergesponnen (Annahme. in %NWReitz% sind die NetWare-Rechte):
01.
for %%i in (R W E C M F) do set "%%i_Recht=0" 
02.
REM nach dieser Schleife ist R_Recht=0; W_Recht=0; ....F_Recht=0 ... 
03.
for %%i in (R W E C M F) do ( 
04.
       echo  "%NWReitz%"|find /i "%%i">nul && Set "%%i_Recht=1" 
05.
06.
If %R_Recht% == 1 machdies 
07.
If %W_Recht% == 1 machdas 
08.
If %E_Recht% == 1 call E_RechtKrams 
09.
....
[ungetestete Montagsskizze]

Natürlich kannst Du jeweils direkt der Variablen-"Erkennung" sofort in einen Call-Block springen:
01.
... 
02.
for %%i in (R W E C M F) do ( 
03.
         echo  "%NWReitz%"|find /i "%%i">nul && Call: %%i_Verarbeitung 
04.
05.
:goto :eof 
06.
:R_Verarbeitung 
07.
....<bla> 
08.
goto :eof 
09.
 
10.
:W_Verarbeitung 
11.
....<bla> 
12.
goto :eof
Grüße
Biber
Bitte warten ..
Mitglied: jschneider
22.09.2008 um 14:50 Uhr
Zitat von Biber:
[ungetestete Montagsskizze]

ich schmeiß mich weg

der Ansatz gefällt mir !
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Variable über Wert aussuchen (2)

Frage von CreatorX zum Thema Batch & Shell ...

Batch & Shell
Wert in Registry suchen und in Variable speichern (2)

Frage von J.Troll zum Thema Batch & Shell ...

VB for Applications
gelöst Abfrage, ob Datei mit Variablem Wert existiert (12)

Frage von Anrion zum Thema VB for Applications ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Internet
gelöst Jeden morgen Internet-Probleme (56)

Frage von pjrtvly zum Thema Internet ...

Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

Windows 7
Bluesreens unternehmensweit (22)

Frage von SYS64738 zum Thema Windows 7 ...

LAN, WAN, Wireless
gelöst IP Adressen - Modem - Switch - Accesspoint (22)

Frage von teuferl82 zum Thema LAN, WAN, Wireless ...