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, 9542 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst In einer Batch variable die Datei extension ermitteln ? (4)

Frage von Kriegstreiber zum Thema Batch & Shell ...

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

Frage von joes1609 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(7)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Heiß diskutierte Inhalte
Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Windows Userverwaltung
gelöst Nicht Admins erlauben Verknüpfungen zu löschen (13)

Frage von WinLiCLI zum Thema Windows Userverwaltung ...