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, 9361 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
Windows 10

Powershell 5 BSOD

(5)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst In Batch variable DOS-Funktion von "größer" und "kleiner" Zeichen unterdrücken (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Variable auf 5 Zeichen begrenzen (5)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

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

Frage von Markus5579 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (17)

Frage von Unwichtig zum Thema Netzwerkmanagement ...