Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 4351 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
VB for Applications
Auswahlliste mit variablen (3)

Frage von 94451 zum Thema VB for Applications ...

Batch & Shell
gelöst Powershell - Werte in Variable durch Schleife erweitern bzw. ändern (5)

Frage von ralfkausk zum Thema Batch & Shell ...

Batch & Shell
gelöst Variable aus Registrie mit varriabler Länger (4)

Frage von QandAt zum Thema Batch & Shell ...

Neue Wissensbeiträge
Viren und Trojaner

Ransomware or Wiper? RedBoot Encrypts Files but also Modifies Partition Table

(1)

Information von BassFishFox zum Thema Viren und Trojaner ...

Notebook & Zubehör

WOL bei HP Notebooks

(6)

Erfahrungsbericht von Henere zum Thema Notebook & Zubehör ...

LAN, WAN, Wireless

Neue Cisco Catalyst-Serie 9000

Information von Kuemmel zum Thema LAN, WAN, Wireless ...

Heiß diskutierte Inhalte
Windows 10
Netzwerkkarte schaltet sich erst nach dem Logon ein (23)

Frage von DerWoWusste zum Thema Windows 10 ...

Windows Server
Seit IP Umstellung DC DNS Fehler (18)

Frage von Yaimael zum Thema Windows Server ...

Netzwerke
Mobile Einwahl IPSec VPN von iPhone iPad T-Mobile zur Pfsense (16)

Frage von Spitzbube zum Thema Netzwerke ...

Weiterbildung
gelöst Fest angestellter Admin oder Systemhaus Admin mit Kundenbetreuung? (15)

Frage von Voiper zum Thema Weiterbildung ...