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

Batch: Zeichen in Variable suchen

Frage Microsoft Windows Tools

Mitglied: hatzwatz

hatzwatz (Level 1) - Jetzt verbinden

25.12.2006, aktualisiert 26.12.2006, 9485 Aufrufe, 6 Kommentare

Hallo,

ich möchte gerne in einer Variablen (einfache Windows Batch-Datei) schauen, ob ein bestimmtes Zeichen gibt.

Also zum Beispiel nehmen wir die Variabel "test"

set test=c,d,e

Nun möchte ich abfragen, ob z.B. "c" in der Variablen "test" vorkommt. Je nach Ergebnis (errorlevel) möchte ich dann bestimmte Aktionen ausführen.

Leider habe ich noch keine Möglichkeit gefunden. Vielleicht kann mir ja jemand helfen

MfG

hatzwatz
Mitglied: miniversum
25.12.2006 um 19:42 Uhr
Du meinst so?

@echo off
set test=c,d,e
set errorlevel=0

for %%i in (%test%) do if [%%i]==[c] set errorlevel=1

echo %errorlevel%


miniversum
Bitte warten ..
Mitglied: hatzwatz
25.12.2006 um 22:23 Uhr
jep, klappt - genauso meinte ich das - danke

mit for-Schleifen habe ich mich noch nicht wirklich beschäftigt. Sollte ich mal tun.

Wofür brauche ich die Eckigen Klammern?

Gruß

hatzwatz
Bitte warten ..
Mitglied: miniversum
26.12.2006 um 09:53 Uhr
Die brauchst du nur das es besser aussieht.
Wenn z.B. nichts zwischen den kommas stehen würde würde er dann [] mit [c] vergleichen.
Du kannst auch die Klammern durch " ersetzen.

miniversum

PS: Teste mal bitte obs immer so geht. Diese Lösung geht halt imemr nur wenn die Variable die Form mit kommas zwischen den Zeichen hat.
Bitte warten ..
Mitglied: hatzwatz
26.12.2006 um 10:13 Uhr
in der Variable müssen die Werte durch Leerzeichen oder Komma getrennt werden. In jedem Fall stehen nachher in der Variablen die Werte durch Leerzeichen getrennt, desshalb erkennt die FOR Schleife die auch als einzelne Werte. Es ist glaube ich sogar egal, welches Zeichen man dazwischen schreibt.

Wenn ich mehrere Befehle in der ForSchleife ausführen möchte, kann ich die ja in Klammern setzen. Wenn ich innerhalb dieser Schleife dann eine Ausgabe machen möchte, hat er anscheinende die Variablen noch nciht zugeordnet!? Kann das sein?

Wenn ich also in der Schleife echo %errorlevel% ausgebe, dann erhalte ich 0 und wenn ich das nach der Schleife mache, dann erhalte ich 1 (weil der Wert gefunden wurde).

Gruß

hatzwatz
Bitte warten ..
Mitglied: miniversum
26.12.2006 um 10:57 Uhr
Ja die Zuordnung geshcieht erst nach der Forschleife. Wilst du das direkt in der Forshcleife machen geshcieht das wenn du vorher setlocal enableDelayedExpansion machst. Dann kans tdu die Variabeln gleich mit !errorlevel! abrufen.

Wenn du mehrere Befehle drin haben willst kans tdu die in klamemrn schreiben und untereinadner oder eben mit & verbunden.

Ja das meinte ich. Ist dne sichergestellt das die zu überprüfenden zeichen imemrmit Komma oder Leerstelle getrennt sind?

miniversum
Bitte warten ..
Mitglied: hatzwatz
26.12.2006 um 11:32 Uhr
jep, ist sichergestellt.

Danke Dir für die Hilfe. Hat jetzt alles so geklappt wie ich mir das vorgestellt habe

Viele Grüße und guten Rutsch

hatzwatz
Bitte warten ..
Neuester Wissensbeitrag
Microsoft Office

MS Office Excel - Formel wird angezeigt, aber nicht berechneter Wert!

Tipp von holli.zimmi zum Thema Microsoft Office ...

Ähnliche Inhalte
Batch & Shell
gelöst Dateien aus CSV mit Batch suchen (5)

Frage von joes1609 zum Thema Batch & Shell ...

Batch & Shell
gelöst Mit Batch einen Dateityp auf Partition suchen (2)

Frage von M4tze521999 zum Thema Batch & Shell ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von 126594 zum Thema Batch & Shell ...

Batch & Shell
gelöst Suchen und Ersetzen mehrerer Suchbegriffe per Batch (4)

Frage von makroll10 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (21)

Frage von Winuser zum Thema Hyper-V ...

Exchange Server
Bestehende eMails autoamatisch weiterleiten (19)

Frage von metal-shot zum Thema Exchange Server ...

SAN, NAS, DAS
gelöst Synology Version 6.1 Probleme (18)

Frage von Hendrik2586 zum Thema SAN, NAS, DAS ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (15)

Frage von ProfessorZ zum Thema Router & Routing ...