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, 2961 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 ..
Ähnliche Inhalte
VB for Applications
gelöst Per Vbscript bestimmte Zeile ungeachtet der Nummerierung prüfen (7)

Frage von aletri zum Thema VB for Applications ...

Windows Userverwaltung
gelöst Share Permission für bestimmte Zeitspanne (3)

Frage von Voiper zum Thema Windows Userverwaltung ...

Microsoft Office
gelöst Excel VBA In Userform Maske Text nach Eingabe löschen (1)

Frage von kluthi69 zum Thema Microsoft Office ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Exchange Server
Microsoft Exchange Weiterleitung mit anderer primären E-Mail Adresse (14)

Frage von Rene12345 zum Thema Exchange Server ...

Windows Userverwaltung
gelöst Wie verfahrt Ihr mit den Windows-Benutzerkonten und -dateien von ausgeschiedenen Mitarbeitern? (14)

Frage von Bl0ckS1z3 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Devolo DLAN 500 pro Wireless+ (13)

Frage von IceAge zum Thema LAN, WAN, Wireless ...

E-Mail
gelöst Probleme beim E-Mail Empfang (12)

Frage von TommyB83 zum Thema E-Mail ...