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

Eingabe auf bestimmte wörter Prüfen

Frage Entwicklung Batch & Shell

Mitglied: Power-Poler

Power-Poler (Level 1) - Jetzt verbinden

13.05.2012 um 12:47 Uhr, 2934 Aufrufe, 3 Kommentare

Hallo und schönen Sonntag
War lange nicht mehr hier, und will wider versuchen eine Kleinigkeit zu Schreiben

Versuche mich gerade daran die Batch Datei dazu zu bewegen die Eingabe die mit set /p Test= in die Variable Test gespeichert wird, auf bestimmte Wörter zu überprüfen.
Also z.B
Das Huhn legte gestern das Ei
Gestern legte das Huhn das Ei
Ein Ei legte gestern das Huhn
oder
123 Test TEst irgendwas Huhn test test Ei nicht möglich gestern
usw was es halt Alles für Möglichkeiten gibt dies auszudrücken.

Will jetzt einfach nur auswerten lassen, ob der Satz:
Huhn
Ei
gestern
enthält, der Rest ist egal

Habe folgende Zeilen Geschrieben
01.
echo %Test%|Findstr /C:"Ei">nul && goto Ei 
02.
echo %Test%|Findstr /C:"Blume">nul && goto Blume
Die zweite Zeile brauche ich, weil auf mehre mögliche Sätze geprüft werden soll.
Falls die Bedingung fehl schlägt, also nicht alle definierten Wörter oder keins enthalten ist, soll die Zeile für die Eingabe erneut angezeigt werden.
Habe das bisher einfach so gelöst:
01.
:Start 
02.
 
03.
echo Text eingeben 
04.
set /p Test= 
05.
echo %Test%|Findstr /C:"Ei">nul && goto Ei 
06.
echo %Test%|Findstr /C:"Blume">nul && goto Blume 
07.
 
08.
:Fehler 
09.
cls 
10.
echo falsche Eingabe erneut Eingeben 
11.
goto Start
Da die Batch hier scheinbar dan einfach mir dem Code weitermacht, scheint es so zu funktionieren.

Ich hoffe ihr wisst was ich meine
Muss den Code jetzt so ändern, das er nicht nur das eine Wort sucht, sondern alle.
Schonmal danke für eine Antwort
Mfg
Power-Poler
Mitglied: pieh-ejdsch
13.05.2012 um 13:56 Uhr
moin Power-Poler,

mit einer ODER Suche kannst Du nach dem "Ei" oder dem "Huhn" suchen:
01.
02.
echo Das Huhn legte ein Ei 
03.
echo der Hund der Eimer 
04.
echo das Huhn die Eier 
05.
) | findstr /ri "\<huhn\> \<Ei\>"
Eine UND Suche könnte So ausehen:
01.
02.
echo Das Huhn legte ein Ei 
03.
echo der Hund der Eimer 
04.
echo das Huhn die Eier 
05.
) |findstr /ric:" Huhn *.* legt[e]* *.* Eie*r*"
oder ausser der Reihe
01.
02.
echo Das Huhn legte ein Ei 
03.
echo der Hund der Eimer 
04.
echo das Huhn die Eier 
05.
echo das Huhn legte 5 eier 
06.
) |findstr /rc:"\<Huhn\>" |findstr /ric:"\<eie*r* " |findstr /ric:"\<legte\>"
Gruß Phil
Bitte warten ..
Mitglied: Power-Poler
13.05.2012 um 14:51 Uhr
Danke für deine Antwort

Es funktioniert soweit ganz gut.
Habe jetzt Folgende Zeile:
01.
echo %Test%|Findstr /ric:"Huhn *.* Ei[er]*">nul && goto weiter
Es funktioniert wenn der Satz lautet:
Das Huhn legt Eier
aber nicht wenn
Eier legte das Huhn

Dein Drittes Beispiel :"Ausser der Reihe"
Ich weiß nicht genau wie du das meinst, zumindest funktioniert es so nicht, das kommt immer "Falsche Eingabe".
Bitte warten ..
Mitglied: pieh-ejdsch
13.05.2012 um 19:39 Uhr
Bei "Ausser der Reihe" ist die Reihenfolge der zu findenden Worte egal, es müssen aber alle vorhanden sein.

Test im CMD-Fenster
 
>(echo 15 Eier legte das Huhn &echo legt MohrHuhn Setzei &echo ein ei legt das Huhn ) 
15 Eier legte das Huhn 
legt MohrHuhn Setzei 
ein ei legt das Huhn 
 
>(echo 15 Eier legte das Huhn &echo legt MohrHuhn Setzei &echo ein ei legt das Huhn ) |findstr /rc:"\<Huhn\>" |findstr /ric:"\<eie*r* " |findstr /rc:"\<legte*\>" 
15 Eier legte das Huhn 
ein ei legt das Huhn 
 
>(echo 15 Eier legte das Huhn &echo legt MohrHuhn Setzei &echo ein ei legt das Huhn)|findstr /rc:\^<Huhn\^> |findstr /ric:\^<eie*r*  |findstr /ric:\^<legte*\^> 
 
15 Eier legte das Huhn 
ein ei legt das Huhn 
kommt immer "Falsche Eingabe".
Schalte Echo on um den Fehler zu finden.

Gruß Phil
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Microsoft Office
gelöst Excel: Text in Zellbereich prüfen mit Vergleichstext ggf. mit Exact-Funktion (5)

Frage von Michi1 zum Thema Microsoft Office ...

VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Visual Studio
gelöst Remotedienst prüfen mit Visual Basic (1)

Frage von flyingmichael zum Thema Visual Studio ...

Netzwerke
VPN nur für bestimmte Port(s) verwenden unter Win10 (1)

Frage von Bluebrain zum Thema Netzwerke ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

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

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...